gpt4 book ai didi

javascript - 验证输入字段 Fullname(Firstname,Lastname) - JavaScript

转载 作者:行者123 更新时间:2023-11-30 19:37:03 24 4
gpt4 key购买 nike

需要验证全名(名字/姓氏 - 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 的 Angular 来看,如果您不打算有单独的字段,则需要使用工具提示进行一些验证,检查用户是否有多个空格,提醒他们必须键入 FirstName LastName.

从正则表达式验证的 Angular 来看,这里有一个包罗万象的方法来确保它是有效的。
/^[a-z ,.'-]+$/i.test("Johnny 'Van' Pat-ton Jr.")没有数字,但允许字母和特殊字符 ,.'-.

关于javascript - 验证输入字段 Fullname(Firstname,Lastname) - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55830993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com