输入字段仍然接受Javascript中的数字

时间:2016-02-11 14:59:15

标签: validation input

我的代码问题是用户名的输入字段仍然接受数字。

我尝试使用match()和(否则如果)验证它但仍然无效。 执行跳转到(else)行。

请任何帮助将不胜感激。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Functions in JS</title>

<script language="Javascript">

function showName() {
    var entered=document.getElementById("name1").value;
    var patt1 =/\[0-9]/g;

    if( entered !==''){
        document.getElementById("demo").innerHTML= entered;
    }   
    else if( entered.match(patt1) ){
        document.getElementById("demo").innerHTML="please enter a valid value";
    }   
    else{
        document.getElementById("demo").innerHTML="please enter value";
    }
}

</script>

</head>
<body>

<form>
  <label>Name:</label>
  <input type="text" name="name1" id="name1"   title="Only Alphabets"  >
</form>

<input type="submit" onClick="showName();" >
<p><span id="demo"></span></p>



</body>
</html>

2 个答案:

答案 0 :(得分:1)

您必须根据模式test()输入。来自w3schools

  

test()方法测试字符串中的匹配。

     

如果找到匹配项,则此方法返回true,否则返回   假的。

<script language="Javascript">
    function showName() {
        var entered = document.getElementById("name1").value;
        var pattern = /[0-9]+$/;

        if(entered == ""){
            document.getElementById("demo").innerHTML="Please enter a value";
        } else if(pattern.test(entered)){
            document.getElementById("demo").innerHTML="Please enter a valid value";
        } else {
            document.getElementById("demo").innerHTML=entered;
        }
    }
</script>

在我的解决方案中,我只寻找两个例外:没有输入和输入包含数字。其他一切都是允许的。您可能需要根据需要进行更改:)

答案 1 :(得分:0)

&#13;
&#13;
function showName() {
    var entered=document.getElementById("name1").value;
    var patt1 =/[0-9]+$/;

   if(entered.match(patt1) ){
        document.getElementById("demo").innerHTML='please enter a valid value '
    }   
    else{
        document.getElementById("demo").innerHTML= entered;
    }
       
}
&#13;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Functions in JS</title>

<script language="Javascript">


</script>

</head>
<body>

<form>
  <label>Name:</label>
  <input type="text" name="name1" id="name1"   title="Only Alphabets"  >
</form>

<input type="submit" onClick="showName();" >
<p><span id="demo"></span></p>
&#13;
&#13;
&#13;

https://plnkr.co/edit/j39qy0aXOlfhkCW8upVL?p=preview