【发布时间】:2010-01-19 17:56:34
【问题描述】:
我一直在尝试解决 PHP 正则表达式问题一段时间,但我无法完全完成。我需要编写一个匹配 7 到 12 位数字 (0..9) 的正则表达式,并且可以选择在相邻数字之间使用单个连字符或单个空格。这就是我目前所拥有的......
$match1 = preg_match('/^\d[0-9\-\s]{5,10}\d$/', $number);
$match2 = preg_match('/(-\s|\s-|--|\s\s)/', $number);
如您所见,我必须使用两种不同的检查,但这对我来说仍然不够,因为我可以输入以下字符串:“1-2-3-4-5”,它仍然会通过,因为总共有 9 个字符,但它应该会失败,因为只有 5 位数字。
任何关于此事的帮助都会很棒,谢谢!
【问题讨论】: