【问题标题】:Input field still accepts digits in Javascript输入字段仍然接受 Javascript 中的数字
【发布时间】:2016-02-11 14:59:14
【问题描述】:

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

我尝试使用 match() 和 (else if) 对其进行验证,但仍然无法正常工作。 执行跳转到(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>

【问题讨论】:

  • 我不认为你想要你的正则表达式中的反斜杠。

标签: validation input


【解决方案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>

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

【讨论】:

  • 没问题 :) 如果它符合您的需要,请考虑接受答案
【解决方案2】:

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;
    }
       
}
<!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>

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

【讨论】:

    猜你喜欢
    • 2017-05-18
    • 2014-06-26
    • 2023-01-11
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2017-01-09
    相关资源
    最近更新 更多