3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
我知道您指定了 JS 進(jìn)行驗(yàn)證,但是從 HTML 和 CSS 開始可能會更好。
在 HTML 元素上使用 type、required、title 和 pattern 屬性。
設(shè)置 :valid 和 invalid 偽類的樣式。
<input type="number" required pattern="[0-9]{5}" title="5 Digit Zip Code">
<style>
input:valid { border: solid 2px green; }
input:invalid { border: solid 2px red; }
</style>

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
我完全推薦使用表單驗(yàn)證器庫。根據(jù)我的經(jīng)驗(yàn),https://parsleyjs.org/一直是完成工作的一種快速簡便的方法,并且允許您實(shí)現(xiàn)自定義驗(yàn)證方法和錯誤消息。那和開箱即用將應(yīng)用一些不錯的錯誤消息標(biāo)簽和突出顯示。
有了這個(gè),我還建議使用 jQuery 輸入掩碼來幫助控制用戶輸入。https://plugins.jquery.com/jquery.inputmask/
根據(jù)我的經(jīng)驗(yàn),這兩個(gè)庫似乎可以很好地跨平臺/瀏覽器工作,并且在移動鍵盤方面幾乎沒有問題。
正如預(yù)期的那樣,執(zhí)行服務(wù)器端驗(yàn)證非常必要。

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
試試這個(gè)。如果您可以提供表單的 html 代碼,事情會更容易。
<script>
function runthroughnums(){
/*
checkNum(document.forms["formname"]["intval1"], "Input 1");
checkNum(document.forms["formname"]["intval2"], "Input 2");
checkNum(document.forms["formname"]["intval3"], "Input 3");
*/
var x = document.froms[0];
for (var i = 0; i < x.length; i++) {
/* debug check*/
console.log(x.elements[i].value);
console.log(x.elements[i].id);
checkNum(x.elements[i].value, x.elements[i].id);
}
}
function checkNum(var i, String input){
if(isNaN(i)){
window.alert(input + "must be an integer value");
}
}
</script>
添加回答
舉報(bào)