正则表达式javascript最少8个字符,至少一个数字和一个特殊字符,最多32个字符

前端之家收集整理的这篇文章主要介绍了正则表达式javascript最少8个字符,至少一个数字和一个特殊字符,最多32个字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Password REGEX with min 6 chars,at least one letter and one number and may contain special characters5个
我想要一个正则表达式,检查“最少8个字符至少一个数字和一个特殊字符,最多32个字符.”,我的正则表达式是:
  1. ^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{8,16}$
我测试这个正则表达式可以工作满意
  1. /(?=^.{8,32}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$/

你可以观看现场演示:http://jsfiddle.net/tuxrM/

  1. var re = new RegExp(/(?=^.{8,32}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$/);
  2.  
  3. var test1 = '1234567',// less than 8 characters
  4. test2 = 'aaaaaaaa',// no number & no special character
  5. test3 = 'aaaaaaa1',// no special character
  6. test4 = 'aaaAaa#1',// satisfied
  7. test5 = 'abcdefghigklmnopqrstuvwxyz1234567890332123'; // more than 32 characters
  8.  
  9. re.test(test1); // FALSE
  10. re.test(test2); // FALSE
  11. re.test(test3); // FALSE
  12. re.test(test4); // TRUE
  13. re.test(test5); // FALSE

猜你在找的正则表达式相关文章