【问题标题】:How do I make an input field accept only letters in javaScript?如何使输入字段仅接受 JavaScript 中的字母?
【发布时间】:2014-06-26 17:12:06
【问题描述】:
function validate() {
if(document.myForm.name.value =="" ){
alert("Enter a name");
document.myForm.name.focus();
return false;
}

这是我为空字符串编写的,现在我需要它只接受字母吗?

【问题讨论】:

  • 您可能想要所谓的正则表达式。谷歌。

标签: javascript validation input


【解决方案1】:
function alphaOnly(event) {
  var key = event.keyCode;
  return ((key >= 65 && key <= 90) || key == 8);
};

或

function lettersOnly(evt) {
       evt = (evt) ? evt : event;
       var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
          ((evt.which) ? evt.which : 0));
       if (charCode > 31 && (charCode < 65 || charCode > 90) &&
          (charCode < 97 || charCode > 122)) {
          alert("Enter letters only.");
          return false;
       }
       return true;
     }

【讨论】:

    【解决方案2】:

    如果你只想要字母 - 所以从 a 到 z,小写或大写,不包括其他所有内容(数字、空格、符号),你可以修改你的功能是这样的:

    function validate() {
        if (document.myForm.name.value == "") {
            alert("Enter a name");
            document.myForm.name.focus();
            return false;
        }
        if (!/^[a-zA-Z]*$/g.test(document.myForm.name.value)) {
            alert("Invalid characters");
            document.myForm.name.focus();
            return false;
        }
    }
    

    【讨论】:

      【解决方案3】:

      在文本框上使用 onkeyup 并检查按下的键的键码,如果它在 65 和 90 之间,则允许清空文本框。

      【讨论】:

        【解决方案4】:

        试试这个:

        var alphaExp = /^[a-zA-Z]+$/;
                    if(document.myForm.name.match(alphaExp))
                    {
                        //Your logice will be here.
                    }
                    else{
                        alert("Please enter only alphabets");
                    }
        

        谢谢。

        【讨论】:

          【解决方案5】:

          dep 和 clg 字母验证不起作用

          var selectedRow = null;
          
          function validateform() {
          
            var table = document.getElementById("mytable");
            var rowCount = table.rows.length;
            console.log(rowCount);
          
            var x = document.forms["myform"]["usrname"].value;
            if (x == "") {
              alert("name must be filled out");
              return false;
            }
          
            var y = document.forms["myform"]["usremail"].value;
            if (y == "") {
              alert("email must be filled out");
              return false;
            }
            var mail = /[^@]+@[a-zA-Z]+\.[a-zA-Z]{2,6}/
            if (mail.test(y)) {
              //alert("email must be a valid format");
              //return false ;
            } else {
              alert("not a mail id")
              return false;
            }
          
            var z = document.forms["myform"]["usrage"].value;
            if (z == "") {
              alert("age must be filled out");
              return false;
            }
          
            if (isNaN(z) || z < 1 || z > 100) {
              alert("The age must be a number between 1 and 100");
              return false;
            }
          
            var a = document.forms["myform"]["usrdpt"].value;
            if (a == "") {
              alert("Dept must be filled out");
              return false;
            }
          
            var dept = "`@#$%^&*()+=-[]\\\';,./{}|\":<>?~_";
            if (dept.match(a)) {
              alert("special charachers found");
              return false;
            }
          
            var b = document.forms["myform"]["usrclg"].value;
            if (b == "") {
              alert("College must be filled out");
              return false;
            }
            console.log(table);
            var row = table.insertRow(rowCount);
            row.setAttribute('id', rowCount);
            var cell0 = row.insertCell(0);
            var cell1 = row.insertCell(1);
            var cell2 = row.insertCell(2);
            var cell3 = row.insertCell(3);
            var cell4 = row.insertCell(4);
            var cell5 = row.insertCell(5);
            var cell6 = row.insertCell(6);
            var cell7 = row.insertCell(7);
          
          
            cell0.innerHTML = rowCount;
            cell1.innerHTML = x;
            cell2.innerHTML = y;
            cell3.innerHTML = z;
            cell4.innerHTML = a;
            cell5.innerHTML = b;
            cell6.innerHTML = '<Button type="button" onclick=onEdit("' + x + '","' + y + '","' + z + '","' + a + '","' + b + '","' + rowCount + '")>Edit</BUTTON>';
            cell7.innerHTML = '<Button type="button" onclick=deletefunction(' + rowCount + ')>Delete</BUTTON>';
          
          }
          
          function emptyfunction() {
            document.getElementById("usrname").value = "";
            document.getElementById("usremail").value = "";
            document.getElementById("usrage").value = "";
            document.getElementById("usrdpt").value = "";
            document.getElementById("usrclg").value = "";
          }
          
          function onEdit(x, y, z, a, b, rowCount) {
            selectedRow = rowCount;
            console.log(selectedRow);
            document.forms["myform"]["usrname"].value = x;
            document.forms["myform"]["usremail"].value = y;
            document.forms["myform"]["usrage"].value = z;
            document.forms["myform"]["usrdpt"].value = a;
            document.forms["myform"]["usrclg"].value = b;
            document.getElementById('Add').style.display = 'none';
            document.getElementById('update').style.display = 'block';
          }
          
          function deletefunction(rowCount) {
            document.getElementById("mytable").deleteRow(rowCount);
          }
          
          function onUpdatefunction() {
            var row = document.getElementById(selectedRow);
            console.log(row);
          
            var x = document.forms["myform"]["usrname"].value;
            if (x == "") {
              alert("name must be filled out");
              document.myForm.x.focus();
              return false;
            }
          
            var y = document.forms["myform"]["usremail"].value;
            if (y == "") {
              alert("email must be filled out");
              document.myForm.y.focus();
              return false;
            }
          
            var mail = /[^@]+@[a-zA-Z]+\.[a-zA-Z]{2,6}/
            if (mail.test(y)) {
              //alert("email must be a valid format");
              //return false ;
            } else {
              alert("not a mail id");
          
              return false;
            }
          
            var z = document.forms["myform"]["usrage"].value;
            if (z == "") {
              alert("age must be filled out");
              document.myForm.z.focus();
              return false;
            }
            if (isNaN(z) || z < 1 || z > 100) {
              alert("The age must be a number between 1 and 100");
              return false;
            }
          
            var a = document.forms["myform"]["usrdpt"].value;
            if (a == "") {
              alert("Dept must be filled out");
              return false;
            }
            var letters = /^[A-Za-z]+$/;
            if (a.test(letters)) {
              //Your logice will be here.
            } else {
              alert("Please enter only alphabets");
              return false;
            }
          
            var b = document.forms["myform"]["usrclg"].value;
            if (b == "") {
              alert("College must be filled out");
              return false;
            }
            var letters = /^[A-Za-z]+$/;
            if (b.test(letters)) {
              //Your logice will be here.
            } else {
              alert("Please enter only alphabets");
              return false;
            }
          
            row.cells[1].innerHTML = x;
            row.cells[2].innerHTML = y;
            row.cells[3].innerHTML = z;
            row.cells[4].innerHTML = a;
            row.cells[5].innerHTML = b;
          }
          <html>
          
          <head>
          </head>
          
          <body>
            <form name="myform">
              <h1>
                <center> Admission form </center>
              </h1>
              <center>
                <tr>
                  <td>Name :</td>
                  <td><input type="text" name="usrname" PlaceHolder="Enter Your First Name" required></td>
                </tr>
          
                <tr>
                  <td> Email ID :</td>
                  <td><input type="text" name="usremail" PlaceHolder="Enter Your email address" pattern="[^@]+@[a-zA-Z]+\.[a-zA-Z]{2,6}" required></td>
                </tr>
          
                <tr>
                  <td>Age :</td>
                  <td><input type="number" name="usrage" PlaceHolder="Enter Your Age" required></td>
                </tr>
          
                <tr>
                  <td>Dept :</td>
                  <td><input type="text" name="usrdpt" PlaceHolder="Enter Dept"></td>
                </tr>
          
                <tr>
                  <td>College :</td>
                  <td><input type="text" name="usrclg" PlaceHolder="Enter college"></td>
                </tr>
              </center>
          
              <center>
                <br>
                <br>
                <tr>
                  <td>
                    <Button type="button" onclick="validateform()" id="Add">Add</button>
                  </td>
                  <td>
                    <Button type="button" onclick="onUpdatefunction()" style="display:none;" id="update">update</button>
                  </td>
                  <td><button type="reset">Reset</button></td>
                </tr>
              </center>
              <br><br>
              <center>
                <table id="mytable" border="1">
                  <tr>
                    <th>SNO</th>
                    <th>Name</th>
                    <th>Email ID</th>
                    <th>Age</th>
                    <th>Dept</th>
                    <th>College</th>
                  </tr>
              </center>
              </table>
            </form>
          </body>
          
          </html>

          【讨论】:

            猜你喜欢
            • 2023-01-11
            • 1970-01-01
            • 2017-05-18
            • 2016-10-08
            • 2016-02-26
            • 2020-12-25
            • 1970-01-01
            • 1970-01-01
            • 2022-01-09
            相关资源
            最近更新 更多