本文来给大家介绍一个php正则表达式匹配无重复的5到10位数字实例,方法很简单,关键之处就在于这个正则表达式。
匹配有重复的5到10位数字,正则表达式可以这样写:\d{5,10}
若要匹配无重复的5到10位数字,网上参考了下别人的方法,如下:
^(?!\d*?(\d)\d*?\1)\d{5,10}$
下面上一段代码来举个具体的实例:
<?php
header('Content-type: text/html; charset=utf-8');
// 待测试数字数组
$numarr = array(55789, 56789, 113456789, 123456789);
// 匹配规则
$search = '/^(?!\d*?(\d)\d*?\1)\d{5,10}$/';
// 循环检测每一个数字
for ($i=0; $i<count($numarr); $i++) {
$str = $numarr[$i];
$result = preg_match($search, $str);
if ($result > 0) {
echo "匹配数字 <font color='#FF0000'>$str</font> 成功<br />";
} else {
echo "匹配数字 <font color='#FF0000'>$str</font> 失败<br />";
}
}
echo '<br />代码测试成功By :http://3aj.cn/art/4/18380.html';
?>
运行结果如下:
匹配数字 55789 失败
匹配数字 56789 成功
匹配数字 113456789 失败
匹配数字 123456789 成功
代码测试成功By :http://3aj.cn/art/4/18380.html