【发布时间】:2014-09-24 03:37:59
【问题描述】:
我做了一个函数来验证电子邮件地址来验证并检查它们是否匹配。
但它似乎不起作用,因为当我 var_dump().
我得到了null 值,例如:NULL string(13) 123@gmail.com。你能给我一些建议来解决这个问题吗?我完全被卡住了。
function email_validate_n_match($value)
{
if( $value == '') return;
if( preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $value) ) {
static $count = 0;
if($count == 0) {
$value1 = $value;
} else if($count == 1) {
$value2 = $value;
}
var_dump($value2);
// if ($value1 == $value2) {
// return;
// }else{
// $this->clear = false;
// return $this->tag_st . 'Doesn't match.' . $this->tag_ed;
// }
$count++;
return;
} else {
$this->clear = false;
return $this->tag_st . 'Put the correct email address.' . $this->tag_ed;
}
}
编辑:
感谢您的回答。
当我放这个
static $count = 0;
if($count == 0) {
$value1 = $value;
echo '0';
} else if($count == 1) {
$value2 = $value;
echo '1';
}
它输出01。另一方面,
如果我删除静态,我会得到00。
所以我认为这个$count 有效,但我仍然很困惑为什么我得到上面的NULL 结果。
【问题讨论】:
-
您是否考虑过使用filter_var 验证电子邮件?