逃离正则表达式中的@字符

时间:2016-09-23 13:56:46

标签: c# html regex twitter-bootstrap razor

我正在使用1000hz bootstrap验证器验证电子邮件输入,我无法逃脱正则表达式@中的“@”字符。有没有人有想法?

我试过@@,@('@')甚至是十六进制代码(@)。十六进制工作正常,直到我将谷歌浏览器更新为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 Pattern属性值^ [a-zA-Z0-9 ._%+ - ] + @ [a-zA-Z0-9.-] +。[a-zA-Z] {2,4}不是有效的正则表达式:未捕获的SyntaxError:无效的正则表达式:/^[a-zA-Z0-9._%+-]+@[a-zA -Z0-9 .-] +。[a-zA-Z] {2,4} /:逃脱无效

提前致谢。

2 个答案:

答案 0 :(得分:0)

我不知道这是否是最佳做法,但使用@(“@”)可以正常工作

答案 1 :(得分:0)

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

感谢那些帮助过的人。