验证名称字段是否仅包含文本

时间:2014-01-30 05:56:32

标签: javascript html

我希望Name字段只包含文本。

<html>
<head></head>
<body>
    <form name="form1">
        Name <input type="text" name="fname">
        <input type="submit" value="Submit">
    </form>
</body>
</html>

任何人都可以告诉我如何使用HTML或Javascript这样做。

7 个答案:

答案 0 :(得分:1)

在您的Javascript中使用此正则表达式:/^[a-z]+$/i

WORKING DEMO

使用Javascript:

var submit = document.getElementById("submit");
submit.addEventListener("click", checkInput, false);

function checkInput(e){
    e.preventDefault();
    var pattern = /^[a-z]+$/i;
    alert(pattern.test(document.getElementById('text').value));
}

答案 1 :(得分:0)

您可以在删除字母字符后测试是否还有“遗留任何内容”。

<html>
<body>
<form name="form1" onsubmit="return checkform();">
  Name<input type="text" name="fname" id="fname">
  <input type="submit" value="Submit">
</form>

<script>
function checkform(){
  var fname=document.getElementById('fname').value;
  if (fname.replace(/\w/g,'')!=''||fname==''){
    alert('invalid firstname!');
    return false;
  }
  return true;
}
</script>
 </body>
 </html>

答案 2 :(得分:0)

试试这个:

<script type="text/javascript">
function validate(){
    var allowedChars="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var n=form1.fname.value;
    for(var i=0;i<n.length;i++){
        if(allowedChars.indexOf(n.charAt(i))==-1){
            return false; // contains other char
        }
    }
    return true; //valid name
}

答案 3 :(得分:0)

尝试像

这样的正则表达式
 var  match_text = /[a-zA-Z]/;

答案 4 :(得分:0)

试试这个var regx = /^[A-Za-z][-a-zA-Z ]+$/;

 function validate_form();
 {  

    var regx = /^[A-Za-z][-a-zA-Z ]+$/;

    var fname = document.getElementById('fname').value;
    if(fname=="")
    {
      alert("Name is Blank");
      return false;
    }
    else if(!regx.test(fname))
    {
        alert("name must contains character only");
       return false;
    }
    else
    {
        return true;
    } 
 }

答案 5 :(得分:0)

文本框的模式检查必须使用Javascript或Jquery完成,就像在其他答案中一样如果你想使用HTML5,你可以直接写:

  <input type="text" name="fname" id="fname" pattern="[A-Za-z]+" />

(如果您有兴趣,请参阅HTML5中的'pattern'属性。)

答案 6 :(得分:0)

您可以调用此函数来验证仅包含文本的输入字段 -

   function validate()
    {
     str = document.form1.fname.value;
     var patt = new RegExp("^[a-zA-Z ]*$");
     var res = patt.test(str);
     if(!res)
     {
      alert("do not match!");
      return false;
     }
    }