您的位置首页百科快答

java密码正则表达式(可以是纯数字,也可以是纯字母,也可以是数字+字母,6-16 位)

java密码正则表达式(可以是纯数字,也可以是纯字母,也可以是数字+字母,6-16 位)

的有关信息介绍如下:

java密码正则表达式(可以是纯数字,也可以是纯字母,也可以是数字+字母,6-16 位)

^[0-9a-zA-Z]{6,16}$

[a-z0-9A-Z]表示是字母或数字

{6, 16}表示重复出现6~16次

^表示从字符串头开始匹配

$表示匹配到字符串末尾

如果不加^和$字符串中如果有符合条件的串也会被匹配

正则表达式是一种描述字符串集合的方法,它是以字符串集中各字符串的共有特征为依据的。正则表达式可以用于探索、编辑或者操作文本和数据。它超出了Java程序设计语言的标准语法,因此有必要去学习特定的语法来构建正则表达式。正则表达式的变化是复杂的,一旦你理解了他们是如何被构造的话,你就能解析或者构建任意的正则表达式了。

密码校验规则如下:

1.必须包含数字、字母、特殊字符三种

2.长度至少8位

3.不能包含3位及以上相同字符的重复(hhh123@jixxx)

4.不能包含3位及以上字符组合的重复(123q123c123)

5.不能包含3位以上的正序及逆序连续字符(123#wete#321)

6.不能包含空格、制表符、换页符等空白字符

7.支持特殊字符范围:^$./,;:'!@#%&*|?+(){}[]

按照需求进行正则表达式拆解

规则1&&8:

str.matches("^.*[a-zA-Z]+.*$") && str.matches("^.*+.*$")

&& str.matches("^.*[/^/$/.//,;:'!@#%&/*/|/?/+/(/)/[/]/{/}]+.*$")

规则2:

str.matches("^.{8,}$")

规则3:

!str.matches("^.*(.)\\1{2,}+.*$")

规则4:

!str.matches("^.*(.{3})(.*)\\1+.*$")

规则5&&7:

javaImpl:

first change str to char[]

then for Math.abs(cc - cc) == 1 && (cc - cc) == (cc - cc)

如果想去掉特殊字符的连续:

first str.split("[^\\w]+") as str1[]

then for str1[]

then for str1[i] javaImpl:

规则6:

!str.matches("^.*[\\s]+.*$")