如何编写正则实现仅拒绝全特殊字符输入的校验规则
正确正则表达式
你可以直接使用这个正则实现需求:^.*\w.*$
规则逻辑说明
你的需求核心是只要输入不全为特殊字符就通过,等价于输入必须至少包含1个普通字符(字母、数字、下划线,即\w匹配的内容),其余位置可以是任意字符,正则的匹配逻辑拆解:
^匹配字符串开头.*匹配0个或多个任意字符\w强制要求字符串中存在至少1个普通字符.*匹配剩余的0个或多个任意字符$匹配字符串结尾
测试验证
匹配通过(符合要求)的输入
test !@#包含普通字母,匹配成功test ^&^&%^包含普通字母,匹配成功123@qq.com包含数字和字母,匹配成功a单个普通字符,匹配成功
匹配不通过(不符合要求)的输入
!@#全特殊字符,无普通字符,匹配失败全空格,匹配失败^&*()_+若你认为下划线属于特殊字符,可将正则里的\w替换为[a-zA-Z0-9]即可排除下划线的匹配
内容的提问来源于stack exchange,提问作者Ganesh Pandhere
相关产品推荐
相关产品推荐

