我正在尝试验证引用某个人姓名的文本输入。
我有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;
}
这是确切的输出:
正确:
正确:
题:
编辑: JSFiddle链接:https://jsfiddle.net/vagg77/jv0ofnxr/
答案 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;
}