Javascript - 检查字段是否包含数字不正确

时间:2017-09-10 02:45:50

标签: javascript forms validation

我正在尝试验证引用某个人姓名的文本输入。

我有3个验证,具体取决于输入是否太短,null或是数字。如果没有输入,或者输入太短,但数字验证不起作用,则验证有效。

如果输入是123 - >;验证说正确,只允许数字。
如果输入是s123或123s或1s23 - >验证没有说明数字。

function formValidation(){
    var emp_lname = document.getElementById('last_name').value;
    if(emp_lname.length <=2){
        document.getElementById('last_name').style.borderColor = "red";
        document.getElementById('last_name_errors').innerHTML="Last Name is way too short!!!";
        if(emp_lname === ""){
            document.getElementById('last_name').style.borderColor = "red";
            document.getElementById('last_name_errors').innerHTML="Please enter a Last Name!!!";
        }
        returned_value = false;
    }
    if (/^\d+$/.test(document.getElementById('last_name').value)) {
        document.getElementById('last_name').style.borderColor = "red";
        document.getElementById('last_name_errors').innerHTML="Last Name must NOT contain numbers!!!";
        returned_value = false;
    }
return returned_value;
}

这是确切的输出:

正确:

enter image description here

正确:

enter image description here

题:

enter image description here

编辑: JSFiddle链接:https://jsfiddle.net/vagg77/jv0ofnxr/

1 个答案:

答案 0 :(得分:1)

我会将最后一个IF更改为:

if (document.getElementById('last_name').value.match( /(1|2|3|4|5|6|7|8|9|0)/ ) ) {

    document.getElementById('last_name').style.borderColor = "red";
    document.getElementById('last_name_errors').innerHTML="Last Name must NOT contain numbers!!!";
    returned_value = false;
}