繁体   English   中英

在正则表达式中转义@字符

[英]Escape @ character in a Regex

我正在使用1000hz引导程序验证程序来验证电子邮件输入,但无法在正则表达式@转义'@'字符@ 有人有主意吗?

我尝试了@@,@('@')甚至十六进制代码(@)。 十六进制工作正常,直到我将Google Chrome更新到V53,现在它不再有效

这是我的输入:

<input type="text" pattern="^[a-zA-Z0-9\.\_%+-]+&#64;[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}" required data-error="Enter a valid email address" name="contractor-email" class="form-control" placeholder="e.g. smith.mike@smith.com" />

此外,Chrome还会抛出以下错误消息:validator.min.js:94模式属性值^ [a-zA-Z0-9 ._%+-] + @ [a-zA-Z0-9 .-] +。[ a-zA-Z] {2,4}不是有效的正则表达式:未捕获的语法错误:无效的正则表达式:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0- 9 .-] +。[a-zA-Z] {2,4} /:无效的转义

提前致谢。

我不知道这是否是最佳做法,但是使用@(“ @”)

因此事实证明,错误并非出自“ @”符号,而是我在正则表达式第一个元素中转义字符的方式。 以下正则表达式有效: ^[a-zA-Z0-9%+-\\._]+&#64;[a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,4}

感谢您的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM