Javascript jquery自定义筛选器不工作

Javascript jquery自定义筛选器不工作,javascript,jquery,Javascript,Jquery,过滤器本身非常简单: $.expr[':'].valid = function(a) { var phone = a.value.replace(/\D/g,''), phonesub = phone.substr(0, 2); return (phonesub == '79' || phonesub == '89') && phone.length == 11 } 我只想检查一下phonelength us 11是否以79或89开头。然而:

过滤器本身非常简单:

$.expr[':'].valid = function(a) {
    var phone = a.value.replace(/\D/g,''),
        phonesub = phone.substr(0, 2);
    return (phonesub == '79' || phonesub == '89') && phone.length == 11 
}
我只想检查一下
phone
length us 11是否以
79
89
开头。然而:

$(":valid")
[<input type=​"text" id=​"phone1" name=​"phone1" value>​]

我非常绝望,因为
a
是您应该编写的dom元素

a.value.replace(/\D/g,''),

因为“valid”在jQuery中是其保留的筛选器名称。使用“validPhone”或其他名称代替“valid”。

Yep,
value()
是我代码中的一个输入错误(更新了问题)。但是,它仍然不能正常工作。穆霍斯·格雷西斯,阿图卡:)这就是答案。
$("#phone2")
[<input type=​"text" id=​"phone2" name=​"phone2" value disabled>​]
$("#phone2").val("79111111111")
[<input type=​"text" id=​"phone2" name=​"phone2" value disabled>​]
$("#phone2").val()
"79111111111"
$(":valid")
[<input type=​"text" id=​"phone1" name=​"phone1" value>​]
a.value.replace(/\D/g,''),
$(a).val().replace(/\D/g,''),