使用java脚本只允许文本框中的字母表

时间:2013-12-26 10:20:06

标签: javascript html

我想只允许使用JavaScript在文本框中使用字母 我用了代码:

var nam=f.nm.value;
if(!isNaN(nam))  
    region.innerHTML="alphabets only";

它不起作用并允许数字。我该如何解决这个问题?

6 个答案:

答案 0 :(得分:13)

<html>
<head>
    <title>allwon only alphabets in textbox using JavaScript</title>
    <script language="Javascript" type="text/javascript">

        function onlyAlphabets(e, t) {
            try {
                if (window.event) {
                    var charCode = window.event.keyCode;
                }
                else if (e) {
                    var charCode = e.which;
                }
                else { return true; }
                if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
                    return true;
                else
                    return false;
            }
            catch (err) {
                alert(err.Description);
            }
        }

    </script>
</head>
<body>
    <table align="center">
        <tr>
            <td>
                <input type="text" onkeypress="return onlyAlphabets(event,this);" />
            </td>
        </tr>
    </table>
</body>
</html>

答案 1 :(得分:5)

从kosare评论中,我创建了一个演示http://jsbin.com/aTUMeMAV/2/

HTML

      <form name="f" onsubmit="return onlyAlphabets()">
         <input type="text" name="nm">
         <div id="notification"></div>
         <input type="submit">
      </form>

的javascript

  function onlyAlphabets() {

  var regex = /^[a-zA-Z]*$/;
  if (regex.test(document.f.nm.value)) {

      //document.getElementById("notification").innerHTML = "Watching.. Everything is Alphabet now";
      return true;
  } else {
      document.getElementById("notification").innerHTML = "Alphabets Only";
      return false;
  }


}

答案 2 :(得分:5)

您可以使用HTML5模式属性执行此操作:

<form>
    <input type='text' pattern='[A-Za-z\\s]*'/>
</form>

如果用户输入的输入与模式冲突,则会自动显示错误对话框。

答案 3 :(得分:5)

只需使用如下的onkeypress事件:

<input type="text" name="onlyalphabet" onkeypress="return (event.charCode > 64 && event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)">

答案 4 :(得分:0)

您可以尝试:

 function onlyAlphabets(e, t) {
        return (e.charCode > 64 && e.charCode < 91) || (e.charCode > 96 && e.charCode < 123) || e.charCode == 32;   
    }

答案 5 :(得分:0)

::::: HTML :::::

<input type="text" onkeypress="return lettersValidate(event)" />

仅字母不带空格

:::: JS :::::::

// ===================== Allow - Only Letters ===============================================================

function lettersValidate(key) {
    var keycode = (key.which) ? key.which : key.keyCode;

    if ((keycode > 64 && keycode < 91) || (keycode > 96 && keycode < 123))  
    {     
           return true;    
    }
    else
    {
        return false;
    }
         
}