匹配5到10位无重复数字的正则表达式

  对于有重复的5到10位数字可以使用\d{5,10} 这样的正则

  无重复的5到10位数字我考虑了一下还不会,最然只好查网上。

  有一个版本还不错,反正RegexBuddy测试通过了。

  

复制代码 代码如下:
^(?!\d*?(\d)\d*?\1)\d{5,10}$

  对于(?!………(……)………\1)这样的形式我还没有研究透,有时间我真要细细研究。

  上一个php的例子:

  

复制代码 代码如下:

  <?php

  $str = '123456789';

  $search = '/^(?!\d*?(\d)\d*?\1)\d{5,10}$/';

  $result = preg_match($search,$str);

  echo '匹配无重复的5到10位数字<br />';

  if($result>0) {

  echo '符合';

  }else {

  echo '不符合';

  }

  ?>