Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用preg在php中过滤电子邮件_Php_Regex_Validation_Preg Replace - Fatal编程技术网

使用preg在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

在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