我有一个字符串格式,如“firstname lastname(email)”,我想使用jQuery根据此格式验证输入的值。怎么可能?我尝试了很多东西,但那些都没有正常工作。
答案 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)");
答案 1 :(得分:0)
没有办法准确,简洁地验证电子邮件。一个绝对正确的正则表达式将是非常长的(并且大多数电子邮件服务器不支持RFC定义的所有格式的电子邮件地址)。您可以假设电子邮件是一系列有效字符,然后是at符号,然后是一系列有效字符。如果电子邮件的正则表达式是/[\w.+-]+\@[\w.]+/
,则完整的正则表达式(如果您要禁止中间名)是
/[a-zA-Z]+ [a-zA-Z]+\([\w.+-]+\@[\w.]+\)/