鍍金池/ 問答/UI  HTML/ JS正則如何判斷六個(gè)連續(xù)的數(shù)字

JS正則如何判斷六個(gè)連續(xù)的數(shù)字

比如123456,456789,876543

回答
編輯回答
懶豬

(0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}d 可以匹配正序
改一改也可以倒序,但是要判斷兩次

還是用循環(huán)吧,一個(gè)循環(huán)搞定

function isContinuityNum(num){

  let arr=Array.from(num.toString())
  let arr1= [...arr]
  arr.reverse()
  
  arr3 = arr1.map((n,i)=>{
    return parseInt(n)+parseInt(arr[i])
  })
  
  return [...new Set(arr3)].length === 1

}

var d=isContinuityNum(num)
console.log(d)
2018年5月15日 18:05
編輯回答
哚蕾咪

正則不適合干這活 同樓上

2017年10月12日 08:08
編輯回答
孤巷

正則需要兩次,先replace掉7位以及7位以上的的數(shù)字,然后剩下的字符串最長的也只有6位了,這時(shí)候只需要匹配6位的就行了。沒有長數(shù)字的干擾了。。

2017年8月31日 08:44
編輯回答
擱淺

直接for循環(huán)吧 記錄上一位 判斷數(shù)字是否連續(xù)

2018年8月22日 08:53
編輯回答
淡墨

論會百度的重要性

引用自:https://bbs.csdn.net/topics/3...

var number = '123456';
var str = number.replace(/\d/g, function($val, pos) {
    return parseInt($val) - pos;
});
console.log(/^(\d)\1+$/.test(str));

var number = '654321';
var str = number.replace(/\d/g, function($val, pos) {
    return parseInt($val) + pos;
});
console.log(/^(\d)\1+$/.test(str));
2017年7月23日 15:34