var userName = input.question('Please enter your name: '); //Asking User to enter their Name.
while (userName.includes('.')) {
console.log ("Invalid Name!");
var userName = input.question('Please enter your name: '); //Asking User to enter their Name.
}
上面的代码将询问用户的姓名并将其存储在"userName"中。然后,它将使用.includes来检查不需要的字符和数字。
我想验证userName是否包含数字或不需要的字符,如"?/.,;'[]{}|&^%@"等。我试过使用。includes并验证一个名称是否有";但是,我不确定如何从那里开始验证其余部分。
while检查是否包含不需要的字符后,它将重新提示用户输入一个新名称,并再次检查,直到返回false。
有解决办法吗?
您可以使用REGEX在字符串中搜索非字母或空格字符:
userName.search(/^[a-zA-Zs]+$/)
响应将是0
或-1
。0
表示除A-Z
、a-z
和space
外没有其他字符,-1
表示相反。
let chars = /[$&+,:;=?@#|'<>.^*()%!-]/g;
chars.test(UserName)
使用正则表达式(正则表达式)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions