需要验证全名(名字/姓氏-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个符号。
答案 0 :(得分:1)
您的模型对名称做了几个假设。通常将姓氏和名字作为单独的输入框来消除此障碍。
从UX的角度来看,如果您不打算使用单独的字段,则需要使用工具提示进行验证,该提示会检查用户是否有多个空格来警告他们必须输入FirstName LastName
。 / p>
从正则表达式验证视图来看,要确保它是有效的,请抓紧全部内容。
/^[a-z ,.'-]+$/i.test("Johnny 'Van' Pat-ton Jr.")
没有数字,但允许使用字母和特殊字符,.'-
。