需要验证全名(名字/姓氏-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个符号。
编辑:看来工作..最后!
function input (name) {
let fullNameArr = name.split('')
const space = ' '
let firstName = ''
if (fullNameArr.includes(space)) {
for (let i = 0; i < fullNameArr.length; i++) {
if (!firstName.includes(space)) {
firstName += fullNameArr[i]
}
}
}
firstName = fullNameArr.splice(0, firstName.length)
const lastName = fullNameArr
if (firstName.length > 3 && firstName.length <= 21 && lastName.length >= 3 && lastName.length <= 20 && lastName.includes(space) === false) {
console.log(firstName)
console.log(lastName)
} else {
console.log('Invalid Name')
return false
}
}
input('Todor Markov')
您的模型对名称做了几个假设。通常将姓氏和名字作为单独的输入框来消除此障碍。
从UX的角度来看,如果不打算使用单独的字段,则需要使用工具提示进行验证,该提示会检查用户是否有多个空格来警告用户必须输入FirstName LastName
。
从正则表达式验证视图来看,这是确保其有效的全部内容。
/^[a-z ,.'-]+$/i.test("Johnny 'Van' Pat-ton Jr.")
没有数字,但允许使用字母和特殊字符,.'-
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句