【发布时间】:2014-04-28 23:45:57
【问题描述】:
我想在 PHP 中创建一个正则表达式,它允许用户输入以下任一格式的电话号码。
345-234 898
345 234-898
235-123-456
548 812 346
数字的最小长度应为 7,最大长度应为 12。
问题在于,正则表达式不关心最小和最大长度。我不知道它有什么问题。请帮我解决它。这是正则表达式。
if (preg_match("/^([0-9]+((\s?|-?)[0-9]+)*){7,12}$/", $string)) {
echo "ok";
} else {
echo "not ok";
}
感谢您阅读我的问题。我会等待回复。
【问题讨论】:
-
如果电话号码有 12 位数字,它的外观如何? 7?
-
这个怎么样:$patten = "/\d{3}.\d{3}.\d{3}/";
-
+1 800 123 4567、(800) 123 4567、18001234567等呢?有很多方法可以写出有效的电话号码。最好简单地从用户输入字符串中提取数字并从中进行验证。