Javascript 使用react时,如何为密码输入添加更多验证

Javascript 使用react时,如何为密码输入添加更多验证,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我正在做一个简单的用户注册页面,只有3个字段,电子邮件,密码和重复密码 我有一些接受密码的条件,例如它不应该包含以下字母:“e”“k”“n”“m”,它应该在6到11个字母之间,还有更多的验证,比如第一个字母需要是国会大厦字母,其余的小写字母 到目前为止,我已经用电子邮件和密码制作了一个简单的react应用程序,其中一些验证有效,例如长度,但我不确定如何添加其他验证,如果我知道,我认为我需要使用ASCII将字母转换为数字,以便进行比较 validateField(fieldName, value)

我正在做一个简单的用户注册页面,只有3个字段,电子邮件,密码和重复密码

我有一些接受密码的条件,例如它不应该包含以下字母:“e”“k”“n”“m”,它应该在6到11个字母之间,还有更多的验证,比如第一个字母需要是国会大厦字母,其余的小写字母

到目前为止,我已经用电子邮件和密码制作了一个简单的react应用程序,其中一些验证有效,例如长度,但我不确定如何添加其他验证,如果我知道,我认为我需要使用ASCII将字母转换为数字,以便进行比较

validateField(fieldName, value) {
    let fieldValidationErrors = this.state.formErrors;
    let emailValid = this.state.emailValid;
    let passwordValid = this.state.passwordValid;
    switch(fieldName) {
      case 'email':
        emailValid = value.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i);
        fieldValidationErrors.email = emailValid ? '' : ' is invalid';
        break;
      case 'password':
        passwordValid = value.length >= 6 &&  value.length <= 11;
        fieldValidationErrors.password = passwordValid ? '': ' is not valid';
        //fieldValidationErrors.password = passwordValid.includes('e') ? '': 'contains i';
        break;
      default:
        break;
    }
    this.setState({formErrors: fieldValidationErrors,
                    emailValid: emailValid,
                    passwordValid: passwordValid
                  }, this.validateForm);
  }
validateField(字段名、值){
让fieldValidationErrors=this.state.formErrors;
让emailValid=this.state.emailValid;
设passwordValid=this.state.passwordValid;
交换机(字段名){
“电子邮件”案例:
emailValid=value.match(/^([\w.%+-]+)@([\w-]+\)+([\w]{2,})$/i);
fieldValidationErrors.email=emailValid?“”:“无效”;
打破
案例“密码”:
passwordValid=value.length>=6&&value.length
功能检查(值){

返回(value.length>=6&&value.length对密码设置了太多的限制,这使它很弱。@marekful这只是为了测试!您能描述一下您想要为密码验证设置的确切限制吗?例如1。应该在6到11之间tters;2…..这样我就可以研究最后一部分是如何工作的?/^[A-Z][A-Z]+$/.test(value)最后一部分根据正则表达式检查字符串,正则表达式表示第一个字母应该是大写,之后所有字母都应该是小写。如何只检查大写字母(查看每个字母是否都是大写)或者对于小写字母也是一样,如果我想添加其他验证,比如我想看看是否有至少两个字母在后面,比如“xy”或“op”,如果我想看看是否有两个或两个以上的字母“a”,该怎么办?你怎么看?为你的要求添加更多的检查。谢谢,我做了,但另一个验证是看我是否有至少两个字母,如xy或op,我如何进行验证,你能给我一些提示吗?