Javascript中名字长度内容

实现注册信息验证,要求用户输入姓名、密码、性别、身高,分别验证以下内容,如果错误给出对应提示:姓名(长度24位)、密码(长度820位)、身份证号:18位、性别(男或女)、身高(80~250cm)

img


弄了好久不知道哪错了

啊。。。这。。。。。

  let name = ''
  let password = ''
  while (!/^.{2,4}$/gi.test(name)
  {
      name = prompt('输入姓名').trim(); // 注意,姓名肯定是字符类型,不要使用 parseInt,加 trim 是去掉两边空格
  }
  alert(name)
  while (!/^.{8,20}$/gi.test(password)
  {
      password = prompt('输入姓名'); // 密码同样是字符型,但空格是有意义的,不能去除
  }
  alert(password)



该回答引用gpt:
以下是一个示例实现方法,可以用来验证用户输入的注册信息是否符合要求:

function validateName(name) {
  if (name.length === 0 || name.length > 24) {
    return "姓名长度应为1-24个字符";
  }
  return "";
}

function validatePassword(password) {
  if (password.length === 0 || password.length > 20) {
    return "密码长度应为1-20个字符";
  }
  return "";
}

function validateIdCard(idCard) {
  if (idCard.length !== 18) {
    return "身份证号应为18位";
  }
  return "";
}

function validateGender(gender) {
  if (gender !== "男" && gender !== "女") {
    return "性别应为男或女";
  }
  return "";
}

function validateHeight(height) {
  if (height < 80 || height > 250) {
    return "身高应在80-250cm之间";
  }
  return "";
}

function validateRegistrationInfo(name, password, idCard, gender, height) {
  const nameError = validateName(name);
  const passwordError = validatePassword(password);
  const idCardError = validateIdCard(idCard);
  const genderError = validateGender(gender);
  const heightError = validateHeight(height);
  if (nameError) {
    return nameError;
  } else if (passwordError) {
    return passwordError;
  } else if (idCardError) {
    return idCardError;
  } else if (genderError) {
    return genderError;
  } else if (heightError) {
    return heightError;
  } else {
    return "";
  }
}

上面的代码定义了5个验证函数,分别用于验证姓名、密码、身份证号、性别和身高是否符合要求。这些函数会返回一个字符串,如果输入的信息不符合要求,则该字符串为错误提示信息;否则,该字符串为空。

最后,validateRegistrationInfo函数会调用上述的5个验证函数,并根据返回的错误提示信息返回一个字符串,用于提示用户输入的信息是否符合要求。如果返回的字符串为空,则表示用户输入的信息全部符合要求。