[英]disable hindi characters as input for input type number
我有一個數字類型的文本框。 我已禁用通過javascript輸入文本。 但是文本框接受印地文字符串和數字。 當用戶輸入印地文編號作為輸入時,它會在頁面后面的代碼中轉換為英語。 但是印地文字符造成了問題,我應該防止印地文輸入字符。
<input type="number" id="txtWard" onkeypress="return numberOnly(event)" required="required" runat="server" min="0" max="8" />
JavaScript代碼
function numberOnly(evt) {
var charCode = (evt.which) ? evt.which : window.event.keyCode;
if (charCode <= 13) {
return true;
}
else {
var keyChar = String.fromCharCode(charCode);
var re = /[0-9]/
return re.test(keyChar);
}
}
印度文文字“हिन्हि”和數字“ १ २ ३”的示例。 該文本框不應接受印地文文本。 我如何也可以禁用印地文字符串?
我認為您的問題與特定字符無關。 您的問題是僅在手動輸入字符時才運行驗證,而不是例如從剪貼板粘貼字符時則不運行驗證。 如果使用ASP.NET,則除了當前的JS驗證外,還可以使用內置驗證,請參見以下示例: https : //stackoverflow.com/a/1427777/5098386
編輯:或者如果您想將其保留在JS上,只需使用onchange
事件而不是onkeypress
。
因此,我使用了Google輸入工具來測試印地語字符,並且對我來說做得很好,如果您只允許使用數字,則可以使用/\\D/
只允許使用數字,這樣就無需檢測鍵號,請嘗試以下代碼:
function numberOnly(e) { if (/\\D/g.test(e.value)) { e.value = e.value.replace(/\\D/g, ''); } }
<input type="number" id="txtWard" onkeypress="return numberOnly(this)" required="required" runat="server" min="0" max="8" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.