今天在练习正则的时候,发现一个疑问,
正则如下:
js: window.οnlοad=function(){
var reg=/^\d*$/ ;
var str=document.getElementById("").value;
if(str.match(reg)){
alert("match succeed !");
}
}
jquery:
$(function() {
var reg=/^\d*$/;
var str =$.trim($("#").val());
if(reg.test(str)){
alert("match succeed !");
}
})
test返回值是boolean, 可是match返回值是数组,那么为什么在if中还能判断成功呢
答案是:
if判断成功不止有TRUE一种情况,
共有四种情况:
1.if(true/false)
2.if(1) if(-1) ,if(!0/0)
3.if(!null/null)
4.if(!”“/”“)
而数组返回的时候,是取得原数值,符合第二种情况,所以判断成功。 另外,test match 区别也值得探讨。