今天在练习正则的时候,发现一个疑问,
正则如下:
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 区别也值得探讨。
本文探讨了在JavaScript中使用正则表达式进行字符串匹配的过程,并解释了`match`与`test`方法的不同之处及返回值的区别。此外,还讨论了在条件判断中不同类型的返回值是如何被处理的。
1344

被折叠的 条评论
为什么被折叠?



