我尝试编写一个正则表达式来处理position-absolute 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
当我将所需的和URL验证器一起添加时,它会发出2个错误。但只有URL 验证器,它并没有说它是一个无效的URL。我只需要一个空的和一个错误 无效的网址。
https://github.com/posabsolute/jQuery-Validation-Engine
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用data-errormessage
为所有错误设置相同的通用错误消息,因此无论该字段是空还是具有无效值,您都会收到相同的消息。
答案 2 :(得分:0)
我写了一个小例子,说明如何快速简便地验证电子邮件。没有使用插件的麻烦。如果您只使用一次就可以使用
var emailaddressVal = 'nobody@example.cpom';
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(emailReg.test(emailaddressVal) && emailaddressVal.length > 0)
{
alert('Your email is valid.');
}
else
{
alert('The email is invalid')
}
但是将它放在一个函数中,这样你就可以多次使用它。而不是把它放在一个函数中,例如:
// Email check function
function checkEmail(email)
{
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(emailReg.test(email) && email.length > 0)
{
return true;
}
else
{
return false;
}
}
// Ussage
if(checkEmail('nobody@example.com'))
{
alert('SUCCESS!!');
}
else
{
alert('FAILED!!');
}