验证输入字段全名(名字,姓氏)-JavaScript

时间:2019-04-24 13:16:21

标签: javascript validation input

需要验证全名(名字/姓氏-1个输入字段)。我是这个领域的新手,无法制定正确的语法,也许也可以使用正则表达式

<form name="myForm" action="#" id="form" onsubmit="return validateForm()" method="POST">
            <div class="field"><span class="input"><i class="fas fa-user-alt"></i>
                    <input type="text" id="name" name="Fullname" placeholder="Full Name" >
                </span>


function validateForm() {
var name= document.getElementById('name').value;
var x = name.indexOf(" ");
var fname = name.substring(0, x);
var lname = name.substring(x).trim();
if ( 17 < fname.value.length < 5 || 4 > lname.value.length > 17 || x.value.length != 1) {
    alert("try again")
    return false;
 }
 alert("OK")
return true;
}

字段(1个字段)应包含2个字,该字应为3到20个符号。

1 个答案:

答案 0 :(得分:1)

您的模型对名称做了几个假设。通常将姓氏和名字作为单独的输入框来消除此障碍。

从UX的角度来看,如果您不打算使用单独的字段,则需要使用工具提示进行验证,该提示会检查用户是否有多个空格来警告他们必须输入FirstName LastName。 / p>

从正则表达式验证视图来看,要确保它是有效的,请抓紧全部内容。
/^[a-z ,.'-]+$/i.test("Johnny 'Van' Pat-ton Jr.") 没有数字,但允许使用字母和特殊字符,.'-