2017-07-06 26 views
0

私はjQueryを使用して入力を検証するには、コードは、キーボードで数字を働いているだけで、アルファベット受け入れる必要があります許可されていませんが、テンキーの数字は、このjqueryの検証番号エラー

$("#fname").keydown(function(event) { 
    var keyentered = event.keyCode || event.which; 
    keyentered = String.fromCharCode(keyentered); 
    var pattern = /[a-zA-Z]+|[\b]+$/; 
    if(!pattern.test(keyentered)){ 
    event.returnValue = false; 
    if(event.preventDefault) event.preventDefault(); 
    } 
}); 

で何ができるかを入力しているこれは私ですそれは特別な文字と数字を受け入れる必要はありませんが、数字パッドから数字を受け取り、アルファベットの上のキーボードにある数字を受け入れていません。これを解決する理由と方法を知りたいです。

ヘルプが必要です。

+0

潜在的な重複 - https://stackoverflow.com/questions/40362688/regex-for-name-only-in-uitextfield – ArunGeorge

答えて

0

これは正常に動作するはずです。以下のコードでは、アルファベットをjQueryを使用してテキストボックスに入力することしかできません。

$("#fname").keydown(function (e) { 
    // Allow backspace, delete, 
    // Allow select all the alphabet entered in textbox using Ctrl+A or Command+A 
    // Allow: home, end, left, right, down and up to navigate in textbox if any changes want to do 
    if ($.inArray(e.keyCode, [8, 46]) !== -1 || 
      (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || 
      (e.keyCode >= 35 && e.keyCode <= 40)) { 
     return; 
    } 
    // Below code is to only allow alphabet and stop propogation on entering other char 
    if ((e.shiftKey || (e.keyCode < 65 || e.keyCode > 90)) && (e.keyCode < 65 || e.keyCode > 90)) { 
     e.preventDefault(); 
    } 
}); 
+0

@dhana私は答えを更新し、それはあなたのために働く必要があります。 – TechnoCrat

+0

ありがとうございます。、@テクノクラート – dhana

+0

@dhanaそれはあなたのために働く場合はそれを受け入れてください。 – TechnoCrat