const reg = /^(?!^\d+$)(?!^[a-z]+$)(?!^[A-Z]+$)(?!^[^a-z0-9]+$)(?!^[^A-Z0-9]+$)(?!^.*[\u4E00-\u9FA5].*$)^\S*$/
百度了一个大佬写的JS正则, 此正则的意思是验证字母、数字、特殊符号至少两种的组合.虽然验证了能用, 但是本人看不懂, 求大佬拆解一下具体的含义.
const reg = /^(?!^\d+$)(?!^[a-z]+$)(?!^[A-Z]+$)(?!^[^a-z0-9]+$)(?!^[^A-Z0-9]+$)(?!^.*[\u4E00-\u9FA5].*$)^\S*$/
百度了一个大佬写的JS正则, 此正则的意思是验证字母、数字、特殊符号至少两种的组合.虽然验证了能用, 但是本人看不懂, 求大佬拆解一下具体的含义.
from chatgpt
这个正则表达式用于匹配一个字符串,要求满足以下条件:
具体解释如下:
综上所述,这个正则表达式用来匹配一个不包含空格、不包含汉字、同时包含数字、小写字母和大写字母的字符串
详细可以看我的文章: https://segmentfault.com/a/1190000043513389
/^.............$/
, 两边的符号同时出现表示精确匹配^.............$
表示精确匹配 \d 表示匹配数组, + 表示该数字出现一次或多次, (^\d+$)就是指匹配12131这样的以...开头
, 整体就是 9asdf ass233, 这种是以数字或小写字母开头的本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
8 回答4.8k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
具体解释如下:
^
表示匹配输入字符串的开始位置(?!^\\d+$)
表示不允许全是数字(?!^[a-z]+$)
表示不允许全是小写字母(?!^[A-Z]+$)
表示不允许全是大写字母(?!^[^a-z0-9]+$)
表示不允许全是除小写字母和数字之外的字符(?!^[^A-Z0-9]+$)
表示不允许全是除大写字母和数字之外的字符(?!^.*[\\u4E00-\\u9FA5].*$)
表示不允许包含中文字符^\\S*$
表示匹配任何不包含空格的字符