我正在尝试创建一个正则表达式来检查字段,并确保它包括(特殊字符或数字),包括所有其他字符。我没能正确地做到这一点。
我一直在使用像http://www.gskinner.com/RegExr/这样的正则表达式网站给我一些帮助,并确保我做对了,但我不是。
我得到的最接近的是:
(?!^[0-9]*$)(?!^[a-zA-Z!@#$%^&*()_+=<>?]*$)^([a-zA-Z!@#$%^&*()_+=<>?0-9]{6,15})$
它会检查所有内容,尽管需要有一个数字。但我需要它有一个数字或特殊字符。
答案 0 :(得分:1)
这需要一个数字和一个特殊字符:
[^\s\w].*\d|\d.*[^\s\w]
这需要一个数字或一个特殊字符:
\d|[^\s\w]
竖线字符'|'是指OR。
如果同时存在特殊字符和数字,则此匹配整行:
.*(:?[^\s\w].*\d|\d.*[^\s\w]).*
如果有特殊字符或数字,则此匹配整行:
.*(?:\d|[^\s\w]).*
答案 1 :(得分:0)
特殊字符或数字?那么,[^A-Za-z_ ]
可能就足够了。
编辑:
因此,如果您正在尝试进行密码验证,那么这一点非常简单,具有积极的前瞻性。无耻被盗:http://www.mkyong.com/regular-expressions/how-to-validate-password-with-regular-expression/
( # Start of group
(?=.*\d) # must contains one digit from 0-9
(?=.*[a-z]) # must contains one lowercase characters
(?=.*[A-Z]) # must contains one uppercase characters
(?=.*[@#$%]) # must contains one special symbols in the list "@#$%"
. # match anything with previous condition checking
{6,20} # length at least 6 characters and maximum of 20
)