如何在 javascript 中匹配正则表达式?
我正在尝试匹配电子邮件正则表达式 \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,4}\b
与 Javascript 中的字符串。目前我正在使用代码 email.match(/b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2, 4}/)
但它与任何电子邮件地址都不匹配。在 Javascript 中使用正则表达式之前是否需要更改?
I'm trying to match the email regex \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
with a string in Javascript. At the moment I'm using the code email.match(/b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/)
but it doesn't match any email addresses. Do regex's need to be changed before they are used in Javascript?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用正则表达式匹配电子邮件地址时出现问题:
您必须添加不区分大小写的修饰符,因为您只匹配大写字符。您还缺少
b
前面的\
(这使得表达式与b
字面匹配)和\b< /code> 最后(感谢@Tomalak)(即使没有它它也会“工作”):
如果你只想知道表达式是否匹配或不,您可以使用
.test
:有关正则表达式的更多信息JavaScript。
Problems matching email addresses with regex aside:
You have to add the case-insensitive modifier since you are only matching uppercase characters. You also are missing the
\
in front of theb
(which makes the expression match ab
literally) and the\b
at the end (thanks @Tomalak) (even though it will "work" without it):If you only want to know whether the expressions matches or not, you can use
.test
:More about regular expressions in JavaScript.
您应该使用符合 RFC 2822 的正则表达式来验证电子邮件,即使它很大;
有关使用正则表达式验证电子邮件的更多详细信息,请参阅 regular-expression.info
You should use a RFC 2822 compliant RegEx for validating emails, even if it's a big one;
For more details on validating email using RegExs see regular-expression.info