Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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中的正则表达式不起作用_Javascript_Regex_Validation - Fatal编程技术网

Javascript中的正则表达式不起作用

Javascript中的正则表达式不起作用,javascript,regex,validation,Javascript,Regex,Validation,我需要一个具有以下要求的正则表达式 1.最少8个字符。 至少是一封信。 3.至少有一个数字。 4.至少有特殊性格 我试过这个,但不适合我 (?=^.{8,}$)(?=.*\d)(?=.*[!@#$%^&*]+)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ 您可以使用以下正则表达式: ^(?=.{8})(?=.*\d)(?=.*[!@#$%^&*])(?=.*[a-zA-Z]).*$ 请注意: 要检查至少8个字符,您可以省去逗号和$(两者),因为找到8

我需要一个具有以下要求的正则表达式

1.最少8个字符。 至少是一封信。 3.至少有一个数字。 4.至少有特殊性格

我试过这个,但不适合我

(?=^.{8,}$)(?=.*\d)(?=.*[!@#$%^&*]+)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$

您可以使用以下正则表达式:

^(?=.{8})(?=.*\d)(?=.*[!@#$%^&*])(?=.*[a-zA-Z]).*$
请注意:

  • 要检查至少8个字符,您可以省去逗号和$(两者),因为找到8个字符后无需进一步查找

  • 对于检查特殊字符(与任何其他字符类一样),您不需要添加
    +
    :当找到一个字符时,条件已经满足

  • (在您的案例中)不应该区分小写和大写,所以这些测试应该合并

  • 因为您没有关于点或换行符的条件,所以应该删除该测试(
    (?![。\n])

  • 您可能希望插入符号出现在最开始的位置,而不是出现在第一组中:您希望输入中的所有字符都匹配或不匹配

(?=.*[A-Z])(?=.*[A-Z])
表示您至少需要一个大写字母和一个小写字母。将两个字符类合并为仅
(?=.[a-zA-Z])
或使用不区分大小写的标志
i