正则表达式验证邮箱并剔除前后空格 [\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用filter,不用想正则想到头大另外去除前后空格可以用trim()Example #1 Validating email addresses with filter_var()<?php$email_a = '[email protected]';$email_b = 'bogus';if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) { echo "This (email_a) email address is considered valid.";}if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) { echo "This (email_b) email address is considered valid.";}?> Example #1 Sanitizing and validating email addresses<?php$a = '[email protected]';$b = 'bogus - at - example dot org';$c = '([email protected])';$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) { echo "This (a) sanitized email address is considered valid.\n";}$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) { echo "This sanitized email address is considered valid.";} else { echo "This (b) sanitized email address is considered invalid.\n";}$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) { echo "This (c) sanitized email address is considered valid.\n"; echo "Before: $c\n"; echo "After: $sanitized_c\n"; }?> 以上例程会输出:This (a) sanitized email address is considered valid.This (b) sanitized email address is considered invalid.This (c) sanitized email address is considered valid.Before: ([email protected])After: [email protected] preg_match('/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/',trim($filename)) <?php$email = "someone@exa mple.com";if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "E-mail is not valid"; }else { echo "E-mail is valid"; }?> 你可以参考这里http://www.w3school.com.cn/php/php_ref_filter.asp 我刚才才重新做了一个循环10000次的实验,发现下边的这个例子用时60毫秒,IF(Preg_match("/^[[:alnum:]._-]+@[[:alnum:]-]+\.([[:alnum:]-]+\.)*[[:alnum:]]+$/isU",$??)){ Echo "Email地址合法.";}而这下边的这个用时为200毫秒IF(Filter_var($??,FILTER_VALIDATE_EMAIL)){ Echo "Email地址合法.";}由此可见在判断email地址的合法性上,正则表达式的效率反而比Filter_var函数的效率要高很多,所以就看你要如何取舍了. 豆瓣网站第三方登录(用豆瓣账号登录) PHP模式取值 上海BEA User Group第八次活动--报名进行中 php 的substr函数 PHP 共享内存的问题(全局变量)? 我在window2000新装了php,怎么取不了提交的值 请问一个微型PHP项目大概值多少钱? php能用sql server吗? 在PHP中如何把E_MAIL同时发给两个人? 那如何在winNT4服务器下安装PHP4(请给出详细步骤)非常感谢!要不要装sp? 数组值是数字如何累加 急呀,关于页面跳转
另外去除前后空格可以用trim()Example #1 Validating email addresses with filter_var()<?php
$email_a = '[email protected]';
$email_b = 'bogus';if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "This (email_a) email address is considered valid.";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo "This (email_b) email address is considered valid.";
}
?> Example #1 Sanitizing and validating email addresses<?php
$a = '[email protected]';
$b = 'bogus - at - example dot org';
$c = '([email protected])';$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
echo "This (a) sanitized email address is considered valid.\n";
}$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
echo "This sanitized email address is considered valid.";
} else {
echo "This (b) sanitized email address is considered invalid.\n";
}$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
echo "This (c) sanitized email address is considered valid.\n";
echo "Before: $c\n";
echo "After: $sanitized_c\n";
}
?>
以上例程会输出:This (a) sanitized email address is considered valid.
This (b) sanitized email address is considered invalid.
This (c) sanitized email address is considered valid.
Before: ([email protected])
After: [email protected]
$email = "someone@exa mple.com";if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
echo "E-mail is not valid";
}
else
{
echo "E-mail is valid";
}
?>
http://www.w3school.com.cn/php/php_ref_filter.asp
IF(Preg_match("/^[[:alnum:]._-]+@[[:alnum:]-]+\.([[:alnum:]-]+\.)*[[:alnum:]]+$/isU",$??)){
Echo "Email地址合法.";
}而这下边的这个用时为200毫秒
IF(Filter_var($??,FILTER_VALIDATE_EMAIL)){
Echo "Email地址合法.";
}由此可见在判断email地址的合法性上,正则表达式的效率反而比Filter_var函数的效率要高很多,所以就看你要如何取舍了.