使用preg在php中过滤电子邮件
在php中除了使用preg在php中过滤电子邮件,php,regex,validation,preg-replace,Php,Regex,Validation,Preg Replace,在php中除了filter\u VALIDATE\u email之外,还有其他电子邮件过滤器吗?我希望和@在用户电子邮件中是强制性的 是否有任何内置的过滤器可以帮助我完成这项任务?你想知道,那封电子邮件的名字中有点(.)?像我的。email@gmail.com? 也许这会有帮助 此返回值为true(名称中带有点): 此返回为false(名称中没有点): 筛选器\验证\电子邮件不允许验证不完整的电子邮件地址。如果您使用的是PHP>5.2,那么这个就可以安全使用。做到了 不带: <?php
filter\u VALIDATE\u email
之外,还有其他电子邮件过滤器吗?我希望
和@
在用户电子邮件中是强制性的
是否有任何内置的过滤器可以帮助我完成这项任务?你想知道,那封电子邮件的名字中有点(.)?像我的。email@gmail.com? 也许这会有帮助 此返回值为true(名称中带有点): 此返回为false(名称中没有点):
筛选器\验证\电子邮件不允许验证不完整的电子邮件地址。如果您使用的是PHP>5.2,那么这个就可以安全使用。做到了 不带
:
<?php
$email = "user@emailcom";
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}else{
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}
// returns false
使用正确的邮件:
<?php
$email = "user@email.com";
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}else{
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}
// returns user@email.com
过滤验证电子邮件
就是这样做的。您能否指定筛选\u验证\u电子邮件
的确切错误?无论哪种方式,您都可以编写regexp。@zogby它并没有写在他们搜索的手册中。而且@that regex肯定是不对的,因为它在地址的用户名部分需要一个
,如果dot必须在username中,他没有写,或者domainWell在上半年需要一个dot,这意味着99.5%的可能有效电子邮件地址无法识别。
<?php
$email = "user@emailcom";
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}else{
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}
// returns false
<?php
$email = "useremail.com";
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}else{
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}
// returns false too
<?php
$email = "user@email.com";
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}else{
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}
// returns user@email.com