2014-02-05 34 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] 

(虽然最后一个肯定是不理想的)。

相关问题