jquery custom filter does not work
<p>The filter itself is pretty easy:</p>

<pre><code>$.expr[':'].valid = function(a) {
    var phone = a.value.replace(/\D/g,''),
        phonesub = phone.substr(0, 2);
    return (phonesub == '79' || phonesub == '89') &amp;&amp; phone.length == 11 
}
</code></pre>

<p>I just want to check if <code>phone</code> length us 11 and it starts with <code>79</code> or <code>89</code>. However:</p>

<pre><code>$(":valid")
[&lt;input type=​"text" id=​"phone1" name=​"phone1" value&gt;​]
</code></pre>

<p>it's clear that value is "".</p>

<p>Why my filter doesn't work?</p>

<p>BTW, at the same time, there is another input on the DOM:</p>

<pre><code>&lt;input type="text" id="phone2" name="phone2" value="" disabled=""&gt;
</code></pre>

<p>and it's not getting matched by the filter. Is it affected by <code>disabled</code>?</p>

<p>Let's change it's value:</p>

<pre><code>$("#phone2")
[&lt;input type=​"text" id=​"phone2" name=​"phone2" value disabled&gt;​]
$("#phone2").val("79111111111")
[&lt;input type=​"text" id=​"phone2" name=​"phone2" value disabled&gt;​]
$("#phone2").val()
"79111111111"
$(":valid")
[&lt;input type=​"text" id=​"phone1" name=​"phone1" value&gt;​]
</code></pre>

<p>I'm desperate</p>
