var pattern = /^([1-9]\d*)|0$/;
pattern.test("123ds");
为什么这样返回的是true?这个不应该是个正整数吗?
------解决方案--------------------
var pattern = /^(([1-9]\d*)|0)$/;这样试试 前几天看他们好像在讨论这个问题 你查查吧 运算符优先级的问题 貌似是
------解决方案--------------------
- JScript code
var arr="123,1,123as,0,01,10,abc".split(','); for(var i=0;i<arr.length;i++){ document.write(arr[i] + ":" + /^[1-9]\d*$|^0$/.test(arr[i])+"\r\n"); }