簡體   English   中英

如何限制用戶在類型為文本的輸入字段中輸入數字?

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

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