鍍金池/ 問答/HTML/ JS如何判斷input中密碼輸入的數(shù)字是否為連續(xù)數(shù)字?

JS如何判斷input中密碼輸入的數(shù)字是否為連續(xù)數(shù)字?

6位支付密碼設(shè)置,如何判斷input中輸入的數(shù)字是否為連續(xù)數(shù)字?如果是則提醒用戶安全較低。
例如:333333,這是6位的相同的
123456或234567或987654,這種連續(xù)的

使用JS的.test()來判斷,正則應(yīng)該怎么寫?

回答
編輯回答
陌顏

/^d+$/

2018年2月26日 13:12
編輯回答
逗婦惱

return !isNaN(Number(inputvalue.toString()))
個人思路感覺這樣更簡單!

2017年3月27日 02:00
編輯回答
瘋子范

沒有想到正則的方法,自己寫了一個函數(shù):
檢測序列是0123456789:

function isContinue(str) {
  let diff = +str[1] - +str[0]
  diff = diff < 0 ? diff + 10 : diff
  let former = +str[0]

  for (let i = 1; i < str.length; i++) {
    let cur0 = +str[i]
    let cur1 = former + diff
    cur1 = cur1 < 0 ? cur1 + 10 : cur1 % 10
    if (cur0 !== cur1) return false
    former = cur0
  }
  return true
}
console.log(isContinue('987654')) // true
console.log(isContinue('432109')) // true
console.log(isContinue('123456')) // true
console.log(isContinue('901234')) // true
console.log(isContinue('201235')) // false

檢測的序列是123456789:

function isContinue(str) {
  let base = 9
  let strArray = []
  for (let i = 0, len = str.length; i < len; i++) {
    let j = +str[i] - 1
    strArray[i] = j < 0 ? j + base : j
  }
  str = strArray.join('')

  let diff = +str[1] - +str[0]
  diff = diff < 0 ? diff + base : diff
  let former = +str[0]

  for (let i = 1; i < str.length; i++) {
    let cur0 = +str[i]
    let cur1 = former + diff
    cur1 = cur1 < 0 ? cur1 + base : cur1 % base
    if (cur0 !== cur1) return false
    former = cur0
  }
  return true
}
console.log(isContinue('987654')) // true
console.log(isContinue('432198')) // true
console.log(isContinue('123456')) // true
console.log(isContinue('912345')) // true
console.log(isContinue('901234')) // false
2018年6月4日 04:13
編輯回答
奧特蛋

監(jiān)聽keyup事件即可

2018年3月2日 14:55
編輯回答
萢萢糖
/(\d)\1{5}/ 6位相同數(shù)字
2018年2月8日 00:49
編輯回答
近義詞
function fun(str) {
    if (str.length < 2)
        return false;
    var t = str.charCodeAt(0) - str.charCodeAt(1);
    for (var i = 0,l=str.length; i < l - 1; i++)
        if ((str.charCodeAt(i) - str.charCodeAt(i + 1)) != t)
            return false;
    return true;
}
fun('123456')
正則的話太麻煩了
2017年7月4日 09:00