eregi正则表达式错误

时间:2010-10-15 17:12:01

标签: php eregi

这是我正在处理的代码

 if(trim($_POST['phone']) == '')  {
      $hasError = true;
      print "phone number empty";
     } else if (!eregi("^\(?[\d]{3}\)?[\s-]?[\d]{3}[\s-]?[\d]{4}\s*$", trim($_POST['phone']))) { // if I am right this should validate all U.S. numbers
      $hasError = true;
      print "phone number does not match regular expression";
     } else {
      $phone = trim($_POST['phone']);
     }

我使用数字555-555-5555,并且在检查正则表达式后会在if循环上捕获并打印语句“电话号码与正则表达式不匹配”​​。我在http://regexpal.com/进行了测试,它说一切都很笨拙......任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

您应该搜索已经完成的解决方案,就像phone number has been done一样简单thousands of programmers before you

另一个问题是,您正在使用已弃用的功能。不要那么做。使用preg,而不是eregi。