java密码正则表达式(可以是纯数字,也可以是纯字母,也可以是数字+字母,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("^.*[0-9]+.*$")
&& 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[0] - cc[1]) == 1 && (cc[0] - cc[1]) == (cc[1] - cc[2])
如果想去掉特殊字符的连续:
first str.split("[^\\w]+") as str1[]
then for str1[]
then for str1[i] javaImpl:

规则6:
!str.matches("^.*[\\s]+.*$")
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-18
^[0-9a-zA-Z]{6,16}$
[a-z0-9A-Z]表示是字母或数字
{6, 16}表示重复出现6~16次
^表示从字符串头开始匹配
$表示匹配到字符串末尾
如果不加^和$字符串中如果有符合条件的串也会被匹配本回答被提问者采纳

...可以是纯数字,也可以是纯字母,也可以是数字+字母,6-16 位...
1.必须包含数字、字母、特殊字符三种 2.长度至少8位 3.不能包含3位及以上相同字符的重复(hhh123@jixxx)4.不能包含3位及以上字符组合的重复(123q123c123)5.不能包含3位以上的正序及逆序连续字符(123#wete#321)6.不能包含空格、制表符、换页符等空白字符 7.支持特殊字符范围:^$.\/,;:'!@#%...

...可以是纯数字,也可以是纯字母,也可以是数字+字母,6-16 位...
^[0-9a-zA-Z]{6,16} [a-z0-9A-Z]表示是字母或数字 {6, 16}表示重复出现6~16次 ^表示从字符串头开始匹配 表示匹配到字符串末尾 如果不加^和$字符串中如果有符合条件的串也会被匹配

6到20位数字和字母组合 正则表达式
import java.util.regex.Matcher;import java.util.regex.Pattern;public class ZhengZe { public static void main(String z[]) { Pattern pat = Pattern.compile("[\\\\da-zA-Z]{6,20}"); Pattern patno = Pattern.compile(".*\\\\d.*"); Pattern paten = Pattern.compile(".*...

java 验证密码的正则表达式,要求同时有数字和字母,长度最小6,最大16...
String reg = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";这个正则表达式符合你的要求,希望对你有帮助

求java编写的各类中文时间识别的正则表达式
匹配网址URL的正则表达式:^[a-zA-z]+:\/\/(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15} 匹配国内电话号码:(\\d{3}-|\\d{4}-)?(\\d{8}|\\d{7})?匹配腾讯QQ号:^[1-9]*...

java中的正则表达式问题 怎么验证密码必须由字母 数字或下划线开头...
正则表达式,最简单的写法就是:\\w+ 表示匹配 字母 数字 下划线 对于字符个数,至少要1个 java的完整代码,就不给你写了。因为之前给很多人,花了时间写了完整代码,结果 柏 渡 吗 壁 西 通 啦 机,直接就屏蔽了,导致无法发布内容了。你自己去写完整代码吧。

求一JAVA密码正则表达式,长度6位以上,需数字、字母和下划线组成。_百度...
public static void main(String[] args) { String s ="122~!@#$%^&*()222222a";String r = "^(?=.*\\\\d.*)(?=.*[a-zA-Z].*)(?=.*[-`~!@#$%^&*()_+\\\\|\\\\\\=,.\/?><\\\\{\\\\}\\\\[\\\\]].*).*$";System.out.println(s.matches(r));} 字符串 必须由 字符+数...

java编程如何实现限制账号密码长度和包含数字、字母?
正则表达式,是最好的方式。\\x0d\\x0a下面这个正是判断必须同时包含数字和字母的。长度单独检测。\\x0d\\x0a\\x0d\\x0apublic static void main(String[] argv) {\\x0d\\x0a String reg = "^(\\\\d+[A-Za-z]+[A-Za-z0-9]*)|([A-Za-z]+\\\\d+[A-Za-z0-9]*)$";\\x0d\\x...

java 正则匹配字符是否为纯数字
java 正则匹配字符为纯数字方法:定义正则表达式为:String reg="^\\\\d+$"获取要判断的字符串:String str;\/\/可以通过Scanner从控制台输入,也可以用字符串常量进行初始化调用字符串的matches方法判断字符串为纯数字情况:str.matches(reg);如果是纯数字返回为true,否则返回为false;...

.jpg 在java中用正则表达式如何表示呢
验证用户密码:"^[a-zA-Z]\\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。验证是否含有^%&',;=?$\\"等字符:"[^%&',;=?$\\x22]+"。只能输入汉字:"^[\一-\龥]{0,}$"验证Email地址:"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+(...

相似回答