我正在尝试使用PHP验证电话号码,并且想知道是否有一种方法可以用FILTER_SANITIZE_NUMBER_INT而不是正则表达式来完成。我需要密码来强制执行xxx-xxx-xxxx格式(允许使用“-”),最大长度为12个字符。到目前为止,这是我的代码。这项工作是否可以验证xxx-xxx-xxxx格式的任何数字?$phone = clean_input($_POST["phone"]);if (empty($phone)) { $phoneErr = "Valid phone number required"; $isValid = false;} else { if (!filter_var($phone, FILTERSANITIZE_NUMBER_INT)) ; $phone_to_check = str_replace("-", "", $filtered_phone_number); if (strlen($phone_to_check) < 10 || strlen($phone_to_check) > 12) { $isValid = false; }}
2 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
我会用它preg_match代替,因为您可以在一份声明中满足您的所有需求。此正则表达式确保该值必须具有10位数字,并且-在第三和第六位数字之后是可选的。
$phone = clean_input($_POST["phone"]);
$isValid = preg_match('/^\d{3}-?\d{3}-?\d{4}$/', $phone);
- 2 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消