2016-03-03 73 views
2

如何測試字符串是否具有至少一個數字字符,而不是測試整個字符串是否是數字?測試字符串是否具有數字字符的條件

這是當前的代碼。它適用於以下情況: 如果有一個整數,例如「43」將在數據庫中顯示與行43相對應的文本。 如果有明文,例如「無」將顯示標籤「無」

當我有多個整數逗號分開時, 「43,82」將顯示爲「43,82」,而不是相應的行。

的Jquery:

if(!isNaN(parseFloat(gestures[gesture_key].confirming)) && isFinite(gestures[gesture_key].confirming)){ 
    var confirming = gestures[gesture_key].confirming.split(','); 
    for(var i=0;i<confirming.length;i++){ 
     // Find the name of the gesture 
     for(var j=0;j<gestures.length;j++){ 
      if(gestures[j].id == confirming[i]){ 
       var gesture_name_key = j; 
       var absense = false; 
      } 
      if(gestures[j].id == -1 * confirming[i]){ 
       var gesture_name_key = j; 
       var absense = true; 
      } 
     } 
     if(!absense) { 
      $("ul#confirming_gestures").append("<li class=\"gesture\" value="+confirming[i]+">"+gestures[gesture_name_key].name+"</li>"); 
     } 
     if(absense) { 
      $("ul#confirming_gestures").append("<li class=\"gesture\" value="+confirming[i]+">Absense of "+gestures[gesture_name_key].name+"</li>"); 
     } 
    } 
} else { 
    $("ul#confirming_gestures").append("<li>"+gestures[gesture_key].confirming+"</li>"); 
} 

回答

3

有一個很簡單的方法來測試至少一個數字字符的存在:

/\d/.test("asdf"); // false 
/\d/.test("as3df"); // true 
/\d/.test("12345"); // true 

所以一概而論,你可以運行任何JavaScript變量,並得到一個布爾結果。

if(/\d/.test(input)) { 
    alert('has at least one digit'); 
} 
+0

工作完美。這樣簡單的修復,謝謝。 –

+0

@MattB樂意幫忙。你能將答案標記爲已接受嗎? – jszobody

+0

完成,對不起,花了多長時間.... –

相關問題