var obj = {email:'name1.com',company_name:'echemi',name:'echemi123'}
var matcher = /n/i //console.log(matcher.test(obj)) false
// var matcher = /e/i //console.log(matcher.test(obj)) true
// var matcher = /c/i //console.log(matcher.test(obj)) true
// var matcher = /ec/i //console.log(matcher.test(obj)) true
console.log(matcher.test(obj))
这里匹配规则matcher跟对象obj之间是怎么进行匹配的,为什么会得到那些奇怪的true或者false???
昨天老师才讲过 定义一个reg match是否匹配 你reg的格式 test主要是过滤信息的
附一个小代码 我也是才学js 具体你还能去查一查
function valPhone(){
var obj = document.getElementById("phone");
var reg = /^\d{3,4}-\d{8}$/;
/* test方法过滤信息 */
if(!reg.test(obj.value)){
document.getElementById("phonemessage").innerHTML="电话格式不符合";
obj.className="s2";
}
}
我知道test是过滤信息的作用,但一般都是匹配规则跟字符串进行过滤,我只是不太清楚我这里的匹配规则跟对象之间是怎么匹配的?对象没有拆开而是一整个对象跟规则进行匹配的。。
var obj = {email:'name1.com',company_name:'echemi',name:'echemi123'}
var matcher = /n/i //console.log(matcher.test(obj)) false
// var matcher = /e/i //console.log(matcher.test(obj)) true
// var matcher = /c/i //console.log(matcher.test(obj)) true
// var matcher = /ec/i //console.log(matcher.test(obj)) true
console.log(matcher.test(obj))