所有以07045开头的电话号码的Preg匹配

时间:2015-06-17 09:50:49

标签: php forms preg-match

如果电话号码以07405开头,我正在尝试添加一些阻止表单输入的代码。我尝试过以下没有运气,有什么想法?

HTML字段:

        <input type="tel" name="required[phone]" placeholder="Telephone Number" data-required="strict">

PHP:

  case 'phone';

           $phone = (sanitize_text_field($fields['phone']));
          if (preg_match('07045', $phone))
          {

            $fields['valid_phone'] = $phone;
            unset($fields['phone']);
          }
          else
          {
            unset($fields['phone']);
            array_push($errors, 'phone');
          }
          break;

干杯, 丹

4 个答案:

答案 0 :(得分:2)

使用

preg_match('/^07045/',$phone);

答案 1 :(得分:2)

你忘记了preg_match的分隔符和字符串的开头(你尝试匹配整个字符串中的子字符串)。

preg_match('~^07045~', $phone)

第二件事是这个任务不需要正则表达式,substr会更快。

if (substr($phone, 0, 5) == '07045')

答案 2 :(得分:0)

您也可以使用strpos()来避免正则表达式:

if ( strpos( $phone, '07045' ) === 0 ) 

答案 3 :(得分:0)

您应该使用javascript或jQuery在客户端进行此检查 对于php使用, 的preg_match(&#39; / ^ 07405 /&#39;(字符串)$电话)