Ben*_*ick 6 javascript regex email html5
我正在尝试构建一个电子邮件表单,它将多个以逗号分隔的电子邮件作为输入,并使用HTML5进行验证.我想使用以下正则表达式来检查输入:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的
这似乎不适用于多个:
<input type="email" pattern="\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b" value="" multiple>
Run Code Online (Sandbox Code Playgroud)
这有效,但只有内置的电子邮件验证,这似乎是这样的.+@.+.
<input type="email" value="" multiple>
Run Code Online (Sandbox Code Playgroud)
有没有办法混合模式和多个,所以正则表达式检查逗号分隔列表中的每个项目?
我在这里有一个演示:http://codepen.io/ben336/pen/ihjKA
Rya*_*yan 10
试试这个:
<input type="email" multiple pattern="^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},*[\W]*)+$" value="">
Run Code Online (Sandbox Code Playgroud)
更新:
使用<input type="email" value="" multiple>似乎是通过让"a @ b"通过而被窃听.虽然我会按照你所说的方式使用这种方法保留语义,并且只是在服务器端使用验证,以防万一有人试图提交像"a @ b"这样的电子邮件.
就像一个注释一样,出于安全原因,您应始终在服务器端进行验证,因为可以非常轻松地绕过客户端验证.