在HTML5 webapp中提交表单之前,我使用以下电子邮件验证:
<input id="mail" name="mail" type="email" value="" required placeholder="Email"
pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?">
但是,正则表达式中的与号似乎会使HTML无效。在http://validator.w3.org/检查时,我得到以下错误消息:
& did not start a character reference.
(& probably should have been escaped as &.)
有没有可能在regex中转义&符号而不搞乱它呢?在这种情况下,验证器是否正确?
发布于 2012-10-21 18:05:13
例如,您可以使用十六进制值:\x26
查看此处:http://regex101.com/r/bF4bZ3
换句话说,[....$%&'*....]
将变成[....$%\x26'*....]
。对其余部分执行相同的操作。
https://stackoverflow.com/questions/12996816
复制相似问题