使用正则表达式进行jQuery验证

时间:2012-11-06 05:29:37

标签: php regex jquery-validate

我有一个字符串格式,如“firstname lastname(email)”,我想使用jQuery根据此格式验证输入的值。怎么可能?我尝试了很多东西,但那些都没有正常工作。

2 个答案:

答案 0 :(得分:1)

试试这个正则表达式

<强> DEMO

/^([a-zA-Z]+ )+([a-zA-Z])+([\(])+([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+(\))+$/

$.validator.addMethod("username_email",function(value,element){
   return this.optional(element) || /^([a-zA-Z]+ )+([a-zA-Z])+([\(])+([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+(\))+$/i.test(value); 
},"enter firstname lastname(email)");

<强> Jquery Validation with Regular Expressions

答案 1 :(得分:0)

没有办法准确,简洁地验证电子邮件。一个绝对正确的正则表达式将是非常长的(并且大多数电子邮件服务器不支持RFC定义的所有格式的电子邮件地址)。您可以假设电子邮件是一系列有效字符,然后是at符号,然后是一系列有效字符。如果电子邮件的正则表达式是/[\w.+-]+\@[\w.]+/,则完整的正则表达式(如果您要禁止中间名)是

/[a-zA-Z]+ [a-zA-Z]+\([\w.+-]+\@[\w.]+\)/