我正在尝试构建一个电子邮件表单,该表单将多个逗号分隔的电子邮件作为输入并使用 HTML5 验证它们。我想使用以下正则表达式来检查输入的完整性:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b
这是我尝试过的
这似乎不适用于多个:
<input type="email" pattern="\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b" value="" multiple>
这可行,但只能进行内置电子邮件验证,这似乎类似于.+@.+
.
<input type="email" value="" multiple>
有没有办法混合模式和多个,以便正则表达式检查逗号分隔列表中的每个项目?
我这里有一个演示:http://codepen.io/ben336/pen/ihjKA http://codepen.io/ben336/pen/ihjKA
尝试这个:
<input type="email" multiple pattern="^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},*[\W]*)+$" value="">
Update:
Using <input type="email" value="" multiple>
让“a@b”通过似乎确实受到了干扰。尽管我会使用这种方法来保留您所说的语义,并且也只需在服务器端使用验证,以防万一有人尝试提交像“a@b”这样的电子邮件。
请注意,无论如何,出于安全原因,您应该始终在服务器端进行验证,因为可以很容易地绕过客户端验证。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)