2014-02-05 79 views
0

我無法在JavaScript中使用正則表達式的以下示例。正則表達式是有效的,在一些測試正則表達式的網頁上測試過。在javascript中使用正則表達式

我希望它檢查輸入格式是:xxx,xxx,xxx。 它始終警告錯誤的輸入。謝謝你的幫助。

 var re = /[0-9a-zA-Z]+(,[0-9a-zA-Z]+)*/; 
     var toValidation = document.getElementsByName("txtSerial").value; 
     alert(toValidation); 
     if(!re.test(toValidation)) 
      return true; 
     else 
     { 
      alert("Please insert valid text."); 
      return false; 
     } 
+1

爲什麼'''在'if'中?你應該使用'/^... $ /'。 –

+2

我想你已經倒過來了。 – Toto

+0

@anubhava正則表達式也不正確。它會匹配「123456」。 –

回答

2

document.getElementsByName("txtSerial")將通過該名稱(節點集合)返回所有元素。節點集合沒有名爲value的屬性,因此.value將爲undefined(可以通過您的警報看出)。

根據您的標記,你將要使用

document.getElementById("txtSerial") 

document.getElementsByName("txtSerial")[0] 

(雖然最後一個肯定是不理想的)。

相關問題