-1

可能重复:
将 ereg 表达式转换为 preg

我需要将此处的 ereg 用法转换为更当前的内容(因为不推荐使用 ereg)。

这是我的代码当前依赖的函数:

function ValidEmail($address)
{
    if( ereg( ".*<(.+)>", $address, $regs ) ) {
        $address = $regs[1];
    }

    if(ereg( "^[^@  ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$",$address) ) 
        return true;
    else
        return false;
}

因为我不使用正则表达式 - 有人可以帮我将函数转换为功能完全相同但不使用已弃用函数的函数吗?谢谢。

4

1 回答 1

1

看起来我需要添加的只是将 ereg 切换到 preg_match 并为每个模式添加一个分隔符:

function ValidEmail($address)
{
    if( preg_match( "/.*<(.+)>/", $address, $regs ) ) {
        $address = $regs[1];
    }

    if(preg_match( "/^[^@  ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$/",$address) ) 
        return true;
    else
        return false;
}
于 2011-06-18T03:00:17.627 回答