我覺得這是一個愚蠢的問題,對不起。
我有一個型別的輸入number,我想向它添加一些驗證。它不是必需的,因此空字串應該是有效的,負數也是有效的,但不是-符號。
現在考慮一下,我已進入-102該欄位并一一洗掉符號,觀察變化。
這是它的基本代碼筆。如您所見,當只剩-下一個符號時,值 ( event.target.value) 是一個 smpty 字串,它應該是有效的。
那么,如何檢查是否只剩下一個減號并將該欄位標記為無效?
const el = document.getElementById('input');
el.addEventListener('keyup', (e) => {
const value = e.target.value;
console.log(value)
})
<input type="number" id="input">
uj5u.com熱心網友回復:
你可以pattern用來只接受正數或負數
在 JS 中,您可以呼叫方法checkValidity()或使用{yourinput}.validity.valid來檢查輸入中輸入的值是否有效
:invalid在 css 中,當輸入的值與模式/欄位期望不匹配時,您可以使用偽類來設計輸入
const el = document.getElementById('input');
el.addEventListener('keyup', (e) => {
console.log(el.checkValidity());
if (!el.checkValidity()) {
//treat case input invalid
}
})
input:invalid {
color: red;
}
<input type="number" id="input" pattern="\d ">
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/447303.html
