您可以使用pattern
屬性與RegExp
\d{6}-\d{2}-\d{4}
匹配六位數字,然後破折號"-"
後跟兩位數字後跟破折號"-"
其次是四位數字; maxlength
應設置爲14
而不是20
;將placeholder
設置爲預期的.value
999999-99-9999
;使用input
事件來檢查this.validity.patternMismatch
,如果false
,設置<input type="text">
到disabled
,顯示在哪裏活動click
<input type="text">
.value
設置頂空字符串""
同級元素<input type="reset">
。利用與for
屬性相鄰的<label>
元素設置爲id
的<input type="text">
以向用戶顯示通知。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="telnumber" id="tel" maxlength="14" pattern="\d{6}-\d{2}-\d{4}" placeholder="999999-99-9999"/><label for="tel">Invalid input <code>999999-99-9999</code></label>
<input type="reset">
<script>
$(".telnumber").on("input", function(e) {
if (!this.validity.patternMismatch) {
this.labels[0].innerHTML = "Valid input";
this.disabled = !this.validity.patternMismatch;
$(this).siblings("input[type=reset]").show().one("click", function() {
e.target.disabled = false;
e.target.value = "";
e.target.labels[0].innerHTML = "Invalid input <code>999999-99-9999</code>";
$(this).hide();
})
};
}).siblings("input[type=reset]").hide()
</script>
</body>
</html>
你能解釋一下嗎? –
我想要我的輸出像這樣999999-99-9999 –
大量的屏蔽腳本 – epascarello