我使用object.__contains__()
method,但电子邮件字段接受" test @ test"。你可以在我的链接上试试。我该怎么做才能解决这个问题?使用模式属性,我可以写一个正则表达式,但我不知道这样做。
我已经尝试过这个正则表达式,但所有的电子邮件都不正确:
<?php
echo $this->tag->emailField(
array(
"email",
"class" => "form-control",
"data-error" => "incorrect address",
"pattern" => '/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i',
"required" => "required"
)
);
?>
答案 0 :(得分:2)
为什么不简单地将type
标记的input
属性设置为email
,让HTML5为您进行验证。
您还可以添加pattern
属性来指定正则表达式。你可以从以下链接获得一个非常受欢迎的正则表达式:
Validate email address in JavaScript?
pattern="^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$"
答案 1 :(得分:1)
好的我用这个正则表达式解决了我的问题。
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$"