[英]no ability to enter numbers or special chars in input
以下大部分工作; 然而,數字仍然可以通過兩種方式輸入: “復制粘貼”以及來自瀏覽器緩存/建議,即如果您的瀏覽器從您的歷史記錄中給您建議以填充輸入。 仍然可以通過這兩種方式實現數字。
無論如何要完全消除在該領域輸入數字的能力?
<input type="text" data-value-field="value" name="styleName" onkeypress="return /[a-z]/i.test(event.key)" />
檢查這個
abc.oninput = function() { const val = this if (/[0-9~`!@#$%\\^&*()+=\\-\\[\\]\\\\';,/{}|\\\\":<>\\?£.]+/.test(this.value)) { const i = this.value.match(/[0-9~`!@#$%\\^&*()+=\\-\\[\\]\\\\';,/{}|\\\\":<>\\?£.]+/g) if (i !== null) { i.map(function(el) { val.value = val.value.replace(el, '') }) } } }
<input type="text" data-value-field="value" name="styleName" id="abc" />
onpaste="return false"
用於取消粘貼事件。
autocomplete="off"
用於防止自動完成。
setInterval(() => { ... }, 100);
用於定期檢查輸入並刪除任何數字或特殊字符。 這可以防止用戶在開發者控制台中使用input.value = " ... "
將輸入的值設置為無效的值,因為輸入將被自動更正。
const input = document.getElementById('cleanse'); setInterval(() => { input.value = input.value.replace(/[^a-zA-Z ]/g, ""); }, 100);
<input type="text" data-value-field="value" name="styleName" onkeypress="return /[az]/i.test(event.key)" onpaste="return false" autocomplete="off" id="cleanse" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.