我的最终目标是验证输入字段。输入可以是字母也可以是数字。


当前回答

下面的代码检查相同的数字,序列号和反向的数字序列。

function checkNumSequnce(arrayNM2) {
    inseqCounter=1;
    continousSeq = 1;
    decsequenceConter = 1;
    var isequence = true;
    for (i=0;i<arrayNM2.length-1;i++) {
      j=i+1;
      if (arrayNM2[i] == arrayNM2[i+1]) { 
                if(inseqCounter > 1 || decsequenceConter > 1){
                    isequence =  false; break;
                }        
                 continousSeq++; 
                             
         }         
        else if (arrayNM2[j]- arrayNM2[i] == 1) {
            if(decsequenceConter > 1 || continousSeq > 1){
                isequence =  false; break;  
              }      
             inseqCounter++;               
                        
        } else if(arrayNM2[i]- arrayNM2[j] == 1){
              if(inseqCounter > 1 || continousSeq > 1){
                   isequence =  false; break;
               }
              decsequenceConter++;
        }else{
              isequence= false;
              break;
        }
  };

  console.log("isequence: "+ isequence); 

  };

其他回答

当字符串以整数的表示形式开始时,parseInt提供整数:

(parseInt '1a')  is  1

..所以也许:

isInteger = (s)->
  s is (parseInt s).toString()  and  s isnt 'NaN'

(isInteger 'a') is false
(isInteger '1a') is false
(isInteger 'NaN') is false
(isInteger '-42') is true

原谅我的CoffeeScript。

如果我没记错的话,这个问题需要“contains number”,而不是“is number”。所以:

function hasNumber(myString) {
  return /\d/.test(myString);
}

你可以使用javascript来做到这一点。不需要Jquery或Regex

function isNumeric(n) 
{
  return !isNaN(n);
}

你也可以试试lodash:

const isNumeric = number => 
  _.isFinite(_.parseInt(number)) && !_.isNaN(_.parseInt(number))

要测试任何字符是否为数字,无需过度修饰❓,可根据需要进行调整。

const s = "EMA618" 函数hasInt(我){ 设I = 1,a = me.split(""),b = "",c = ""; a.forEach(函数(e) { 如果(! isNaN (e)) { console.log(' contains NUMBER«${e}»AT POSITION ${a.indexOf(e)} => TOTAL COUNT ${i} ') C += e 我+ + } else {b += e} }) console.log('字符串是«${b}»,数字是«${c}»') If (i === 0){ 返回假 //返回b }其他{ 还真 //返回+c } } hasInt (s)