『壹』 java 驗證密碼的正則表達式,要求同時有數字和字母,長度最小6,最大16,無限感激啊!
你好
String reg = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";
這個正則表達式符合你的要求,
希望對你有幫助
『貳』 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]+.*$")
『叄』 求一個java密碼正則表達式
正則表達式規則:
至少一個大寫字母English letter,(?=.*?[A-Z])
至少一個小寫英文字母,(?=.*?[a-z])
至少有一位數字,(?=.*?[0-9])
至少有一個特殊字元,(?=.*?[#?!@$%^&*-])
最小八個長度.{8,}(帶錨)
你自己組合下就好了。
『肆』 寫一個java正則表達式,判斷輸入的密碼強度,是數字弱,是字母較弱,數字加字母強,用\s寫
importjava.util.Scanner;
publicclassJButtonTest
{
publicstaticvoidmain(String[]args)
{
Scannerscanner=newScanner(System.in);
System.out.println("寫一個java正則表達式,判斷輸入的密碼強度,是數字弱搜索,是字母較弱,數字加字母強:");
while(scanner.hasNextLine())
{
Stringline=scanner.nextLine();
if(line.matches("^\d+$"))
{
System.out.println("數字弱");
}
elseif(line.matches("^[a-zA-Z]+$"))
{
System.out.println("字母弱");
}
elseif(line.matches("(?i)^((\d+[\da-z]*[a-z]+)|([a-z]+[\da-z]*\d+)|([a-z]+[\da-z]*[a-z]*)|(\d+[\da-z]*\d*))$"))
{
System.out.println("密碼強");
}
else
{
System.out.println("你不按套路出牌啊。你滴承諾尼,你滴擔架尼?");
scanner.close();
break;
}
}
}
}