我正在制作html5表单,只希望用户使用.edu或.gov电子邮件地址进行注册。正则表达式看起来像什么?我知道也必须在服务器端对其进行检查,但一次只能检查一次。
示例:
<input type="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" />
答案 0 :(得分:0)
在How to validate an email address in JavaScript?的基础上,我使用simplified RFC 2822 compatible pattern提出了这一点:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9]\.)+(edu|gov)
主要区别在于域部分的评估方式。我是从以前的答案中摘录的。
<form action="javascript:console.log('ok')">
<input type="text" name="domain"
pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9]\.)+(edu|gov)" title="Sorry, only email addresses from .edu and .org domains are allowed.">
<input type="submit">
</form>
答案 1 :(得分:0)