要想会正则表达式 以下这几个符号是必须掌握的
' ^ ' 字符串的开始
' $ ' 字符串的结束
' * ' 没有或更多
' + ' 一次或更多
' ? ' 没有或一次
' . ' 可以替代任何字符
"a.[0-9]":表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;
[ ] 中括号的内容是可选字符集 方括号表示某些字符允许在一个字符串中的某一特定位置出现
[0-9] 表示要求字符范围在0-9之间 ,[0-9]可以用\d来代替。在java中\\ 表示 \ 。
[0-9a-zA-Z_] 单词字符 可以用\w来代替
[ab]是表示下一位是a或者是b
/^ 和 $/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。
/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
^[a-zA-Z]{1} 表示第一个字符要求是字母。
([a-zA-Z0-9]|[._]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到19位的字符串,它要求是由大小写字母、数字或者特殊字符集[._]组成。
一般密码校验规则
//必须是数字+字母 6-20位
/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
//字母+数字,字母+特殊字符,数字+特殊字符 6-20位
/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*+\/\\-]+$)[a-zA-Z\d!@#$%^&*+.\/\\-]{6,20}$/;
//字母+数字+特殊字符 6-20位
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{6,20}$/;