正则求连续数字

solovesnow 2010-04-06 03:45:05
需要用正则表达式判断一串数字是否以下格式:
ABCABC(如:123123,ABC是0~9连续的三个数字)
ABABAB(如:454545,AB是0~9连续的两个数字)
...全文
251 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
poFate 2010-04-06
  • 打赏
  • 举报
回复
连续数字不用这么麻烦吧
(\d)+ 就够用了
真哥哥 2010-04-06
  • 打赏
  • 举报
回复
7楼好强悍啊!
哥来自东北 2010-04-06
  • 打赏
  • 举报
回复
function is_continual_digita(str){
var str1 = "01234567890";
return(str1.indexOf(str));
}
function reg(str){
len=10;
if(str.length/2<10)
len = str.length/2;
for(i=len;i>1;i--){
s=str.substr(0,i);
if(is_continual_digita(s)>=0){
r=new RegExp("^("+s+")\\1+$");
return r.test(str);
}
}
return false;
}
//调用
alert(reg('123123'));
alert(reg('454545'));
alert(reg('111111'));
alert(reg('12341234'));
alert(reg('135135'));
s_liangchao1s 2010-04-06
  • 打赏
  • 举报
回复

<script type="text/javascript">
function o(str) {
var reg = /^(?!(\d)\1+$)(\d{2,3})\2+$/, i = 1;
if(reg.test(str)) {
while((RegExp.$2.charAt(i)- 1 == RegExp.$2.charAt(i - 1))) {i++;}
if(i == RegExp.$2.length) { return true; }
}
return false;
}

alert(o('123123'));
alert(o('454545'));
alert(o('111111'));
alert(o('12341234'));
alert(o('135135'));

</script>
哥来自东北 2010-04-06
  • 打赏
  • 举报
回复
正则不能判断连续数字,用代码吧
solovesnow 2010-04-06
  • 打赏
  • 举报
回复
二楼三楼对于456456这样的连续数字都可以,但是貌似135135这种不连续的也可以
shan1119 2010-04-06
  • 打赏
  • 举报
回复
連続不好判断
s_liangchao1s 2010-04-06
  • 打赏
  • 举报
回复

<script type="text/javascript">
var reg = /^(?!(\d)\1+$)(\d{2,3})\2+$/;
alert(reg.test('123123'));
alert(reg.test('454545'));
alert(reg.test('111111'));
alert(reg.test('12341234'));
</script>
shan1119 2010-04-06
  • 打赏
  • 举报
回复
var s="123123";
alert(/^(\d+)\1+$/.test(s));
真哥哥 2010-04-06
  • 打赏
  • 举报
回复
还是用代码实现吧

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧