[英]How to restrict user from entering number in to an input field with type as text?
如何禁止用戶在輸入字段中輸入數字。 當我們使用類型作為數字時,我們被限制在輸入中輸入文本。同樣的方式如何實現反之亦然。 有人幫助我需要這個來完成我的任務。
<input type="text" name="name" />
您可以收聽keydown
,如果按下的鍵是數字,只需在鍵盤事件上調用event.preventDefault()
即可。
const input = document.querySelector('input'); input.addEventListener('keydown', function(event){ if((/\d/g).test(event.key)) event.preventDefault(); })
<input type="text" />
您可以將input
事件偵聽器添加到獲取輸入值的輸入,替換每個數字字符(使用String.replace
),然后將結果分配回輸入值:
const input = document.querySelector('input'); input.addEventListener('input', function(){ this.value = this.value.replace(/[^\D]/g,'') })
<input type="text" name="name" />
您可以使用 1 行 function 在正則表達式的幫助下防止input
中的任何數字
但是不推薦使用inline function,這里提供只是說一下不同的做法
<input type="text" name="name" oninput=" this.value = this.value.replace(/[0-9]/g,'')" />
嘗試將pattern
與正則表達式一起使用:
<input type="text" name="name" pattern="\D" />
\D
將拒絕所有數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.