簡體   English   中英

無法在輸入中輸入數字或特殊字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM