我有名字(fname + lname)和电子邮件,我有他们的正则表达式,但它们没有验证
var fnlnregex = /^[\w\/\s\.-]+$/; //first name + last name
var usremailregex = /^[@.\w]+$/;
if(!usremailregex.test($("#Eml").val())){
flag = false;
$("#Eml").attr('class','red');
}else{
$("#Eml").attr('class','');
}
但是它并没有验证电子邮件字段,而是将以下数据视为正确
//如果我在电子邮件字段中仅输入“ abc”,则表示输入没有错
fnlnregex-这不应该允许数字,但如果使用正则表达式,则允许使用数字。我该如何纠正
二
最佳答案
/^[@.\w]+$/
表示:start of string - one or more of a combination of @, any character or word boundary - end of string
我必须说这是毫无用处的。 .
表示已经包含@
和\w
的任何字符。
至于为什么abc
匹配-很好,它匹配beginning - any character - end
。
您要寻找的是以下几方面的东西:/^[a-z0-9]+@[a-z0-9]+\.[a-z]+$/i
转换为:beginning - one or more letters or digits - a @ - one or more letters or digits - a . - one or more letters - end
。i
表示不区分大小写。
关于javascript - 正则表达式有什么问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6864171/