Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个正则表达式/模式验证Joi-Hapi_Javascript_Regex_Joi_Hapi - Fatal编程技术网

Javascript 多个正则表达式/模式验证Joi-Hapi

Javascript 多个正则表达式/模式验证Joi-Hapi,javascript,regex,joi,hapi,Javascript,Regex,Joi,Hapi,嗨,伙计们,我想用joi/hapi进行多个正则表达式验证,但我不知道怎么做我已经多次尝试了,但没有人能工作,我希望密码最小值有1个大写字母、1个减号、1个数字和1个特殊字符这里是我的尝试: const passwordValidation = (data) => { const schema = Joi.object({ password: Joi.string() .pattern(new RegExp('^[a-z]{1,}$')) .pattern

嗨,伙计们,我想用joi/hapi进行多个正则表达式验证,但我不知道怎么做我已经多次尝试了,但没有人能工作,我希望密码最小值有1个大写字母、1个减号、1个数字和1个特殊字符这里是我的尝试:

const passwordValidation = (data) => {
  const schema = Joi.object({
    password: Joi.string()
      .pattern(new RegExp('^[a-z]{1,}$'))
      .pattern(new RegExp('^[A- Z]{1,}$'))
      .pattern(new RegExp('^[0 - 9]{1,}'))
      .pattern(new RegExp('^[!@#$%&*]{1,}'))
      .min(8)
      .required()
  });
  return schema.validate(data);
};

如何操作?

要求对象为RegExp对象

并在正则表达式中修复

工作演示

const passwordValidation = (data) => {
  const schema = Joi.object({
    password: Joi.string()
      .regex('^[a-z]{1,}$')
      .regex('^[A- Z]{1,}$')
      .regex('^[0 - 9]{1,}')
      .regex('^[!@#$%&*]{1,}')
      .min(8)
      .required()
  });
  return schema.validate(data);
};