字符我已經設置文本字符的限制,但在打字輸入,如果從9個字符超過它繼續不使用標籤限制在HTML
<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid">
我想它應該停止鍵入另一場採取投入。
字符我已經設置文本字符的限制,但在打字輸入,如果從9個字符超過它繼續不使用標籤限制在HTML
<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid">
我想它應該停止鍵入另一場採取投入。
你應該在這個代碼使用jQuery例如
<input data-val="true" maxlength=9 data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid"><br>
<script lang="text/javascript">
$("#Ssn").keyup(function(e)
{
var str=$("#Ssn").val();
if(str.length==9)
{
$("#Ssn").blur();
}
});
</script>
你必須包括jQuery的正則表達式在所有瀏覽中都不完全支持rs - 具體來說,那些支持他們的人並不總是服從複雜的正則表達式。至少在Safari中我注意到了這一點。
maxlength
屬性應該工作。不知道爲什麼它不適合你。也許發佈一個JSBIN例子讓我們看看。
這就是說,對於複雜的客戶端表單驗證,您仍然需要依賴javascript來支持更廣泛的瀏覽器。
模式屬性使用maxlength屬性
<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid" maxlength="9">
OP不希望文本繼續進入下一個領域,這是他想停止的一個不希望的效果。 – 2012-08-02 06:05:40
也許改變按鍵事件是按鍵,這樣你可以模糊並返回false,如果長度已經是9 – Qpirate 2012-08-02 06:18:51