Javascript 正则表达式只是电子邮件的开始
我只想验证电子邮件地址的开头。我将强制用户使用我的'@company.com'域,因此使用该域并不重要。这是我正在使用的正则表达式:Javascript 正则表达式只是电子邮件的开始,javascript,jquery,regex,email,Javascript,Jquery,Regex,Email,我只想验证电子邮件地址的开头。我将强制用户使用我的'@company.com'域,因此使用该域并不重要。这是我正在使用的正则表达式: var validateEmail = /^[A-Z0-9._%+-]$/ 我正在用警报测试它 alert(validateEmail.test([$(this).attr('value')])); 通过jQuery提取的值是用户输入。我测试的所有警报均为false。有人知道为什么吗?据我所知,这应该意味着:行首,字母数字字符集加上。%+-符号,然后是行尾。我
var validateEmail = /^[A-Z0-9._%+-]$/
我正在用警报测试它
alert(validateEmail.test([$(this).attr('value')]));
通过jQuery提取的值是用户输入。我测试的所有警报均为
false
。有人知道为什么吗?据我所知,这应该意味着:行首,字母数字字符集加上。%+-代码>符号,然后是行尾。我做错了什么?即使只是一个“a”也会提示为false
您的正则表达式只匹配单个字符。您需要添加+符号或{min,max}来指定最小和最大长度
var validateEmail = /^[A-Z0-9._%+-]+$/;
您的正则表达式只匹配单个字符。您需要添加+符号或{min,max}来指定最小和最大长度
var validateEmail = /^[A-Z0-9._%+-]+$/;
正则表达式将只匹配集合中的单个字符,请添加一个+
以匹配集合中的至少一个字符:
var validateEmail = /^[A-Z0-9._%+-]+$/;
您忽略了在regex对象中包含小写字符:
var validateEmail = /^[A-Za-z0-9._%+-]+$/;
或设置忽略大小写标志:
正则表达式将只匹配集合中的单个字符,请添加一个+
以匹配集合中的至少一个字符:
var validateEmail = /^[A-Z0-9._%+-]+$/;
您忽略了在regex对象中包含小写字符:
var validateEmail = /^[A-Za-z0-9._%+-]+$/;
或设置忽略大小写标志:
你有很多问题
a
失败,因为它是小写的,并且正则表达式区分大小写。您可以使用i
选项忽略大小写
- 大多数其他有效的电子邮件地址都会失败,因为正则表达式只允许1个字符。您可以在字符类
[…]
之后使用+
来允许一个或多个字符,或者*
来允许0个或多个字符
var validateEmail=/^[A-Z0-9.z%+-]+$/i代码>您有多个问题
a
失败,因为它是小写的,并且正则表达式区分大小写。您可以使用i
选项忽略大小写
- 大多数其他有效的电子邮件地址都会失败,因为正则表达式只允许1个字符。您可以在字符类
[…]
之后使用+
来允许一个或多个字符,或者*
来允许0个或多个字符
var validateEmail=/^[A-Z0-9.z%+-]+$/i代码>看起来您只匹配了一个字符。它应该是[…]+
$(this).val()
可能比$(this)更容易阅读。attr('value')
看起来您只匹配了一个字符。它应该是[…]+
$(this).val()
可能比$(this).attr('value')
更容易阅读