我是HTML5新手...
这里我有一些问题与电子邮件模式属性...
1)如果我在电子邮件字段中输入user@gmail.com ...
2)它不接受值并显示“模式不匹配”。
帮我解决这个....
下面是Html的代码片段
<form name='f1' method="POST" action="" >
<div id="fp">
<span style="margin-left:-50px">Email:</span>
<span><input class="input" type="email" name="Email" placeholder="Enter mailID" required pattern="^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$" ></span><br>
<input type="submit" name="submit" value="submit">
</div>
</form>
任何建议都可以接受......
7条答案
按热度按时间eoxn13cs1#
这应该是正确的模式
是的,你忘了考虑小写。
有关详细信息,请参阅此文档
html5-使用正则表达式进行表单验证
8mmmxcuj2#
接受的答案将不会验证marian@iflove.technology在这种情况下,不要错过所有这些新域名的电子邮件,如http://www.iflove.technology/,您可以用途:
与输入类型电子邮件一起使用,如下所示:
0s0u357o3#
你也需要考虑小写,或者让它不区分大小写,但实际上你应该用途:
发送一封确认邮件到他们应该遵循的地址,因为电子邮件地址相当复杂,你最终会阻止你不打算用正则表达式的东西,而且无论如何,它不会阻止有人输入假的电子邮件地址。
brgchamk4#
简单地使用HTML5属性“模式”是很难正确验证电子邮件的。如果你不使用“模式”,某人@将被处理。这不是有效的电子邮件。
如果使用模式="[a-zA-Z]{3,}@[a-zA-Z]{3,}[.]{1}[a-zA-Z]{2,}[.]{1}[a-zA-Z]{2,}”,则要求格式为someone@email.com
kqqjbcuj5#
只需删除
pattern
属性,type="email"
就足够了。ep6jt1vc6#
我现在用的是这个模式,看起来效果不错:
q5lcpyga7#
我的解决方案覆盖html5验证type='email'.我在DOM加载后运行这段代码