【发布时间】:2012-11-13 09:39:52
【问题描述】:
我尝试编写一个正则表达式来使用绝对位置的 jQuery 验证插件,以在字符串为空或 URL 无效时给出错误。它适用于 URl,但如果存在空字符串则不会出错。这是正则表达式
"regex": /^\S$|^(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}/,
有人可以告诉正则表达式有什么问题吗?
编辑:
我正在使用这个插件进行 jQuery 验证
演示:转到此 URL 并在 URL 验证部分中,删除 HTTP 并查看错误消息
http://www.position-relative.net/creation/formValidator/demos/demoValidators.html
当我将 required 和 URL 验证器一起添加时,它会发出 2 个错误。但只有网址 验证器,它并没有说它是一个无效的 URL。 Empty 和我只需要 1 个错误 无效的网址。
https://github.com/posabsolute/jQuery-Validation-Engine
谢谢
【问题讨论】:
-
针对空字符串进行测试时,正则表达式返回 false。
-
但遗憾的是它不适用于验证插件 :( 并且验证不显示弹出错误。
-
也许您需要将该字段设为必填项。我假设插件不会在空字段上使用正则表达式。
-
实际上这是主要问题,我们只希望在正则表达式中进行所需的验证,因此即使该字段留空,它也会给出错误 - 无效的 URL,而不是像 Field required 和 Invalid 这样的 2 个错误网址
-
您可以将错误消息设置为相同的(无效 URL),无论是缺失值还是无效值。
标签: javascript jquery regex