如果电话号码以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;
干杯, 丹
答案 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;(字符串)$电话)