java正則校驗,java正則校驗文件相對路徑

本文目錄一覽:

java密碼正則表達式(可以是純數字,也可以是純字母,也可以是數字+字母,6-16 位)

正則表達式是一種描述字元串集合的方法,它是以字元串集中各字元串的共有特徵為依據的。正則表達式可以用於探索、編輯或者操作文本和數據。它超出了Java程序設計語言的標準語法,因此有必要去學習特定的語法來構建正則表達式。正則表達式的變化是複雜的,一旦你理解了他們是如何被構造的話,你就能解析或者構建任意的正則表達式了。

密碼校驗規則如下:

1.必須包含數字、字母、特殊字元三種

2.長度至少8位

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

4.不能包含3位及以上字元組合的重複(123q123c123)

5.不能包含3位以上的正序及逆序連續字元(123#wete#321)

6.不能包含空格、製表符、換頁符等空白字元

7.支持特殊字元範圍:^$./,;:’!@#%*|?+(){}[]

按照需求進行正則表達式拆解

規則18:

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+.*$”)

規則57:

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 正則法則如有驗證年份

目前仍沒有人解決1、3、5、7、8、10、12月是31天的大月問題呀

(我本是1樓)如果用正則去驗證「數值」,會很捨近求遠,不是正則的強項。需要寫很多的「向後斷言」。效率會一般甚至很低。(目前我看到的上下樓的都是有漏洞的,沒法檢驗閏月和大小月)

我所不取。

我一直用的這個:

static public boolean isValidDate(

int year, int mon, int day,

short year_min,short year_max,

StringBuffer msg)

{

if(yearyear_min || yearyear_max)

{

msg.append(“年份必須在(“+

year_min+”~”+year_max+

“)之間,輸入值(“+year+”)無效\n”);

return false;

}else{//

switch(mon){

case 1:case 3:case 5:case 7:case 8:case 10:case 12:{

if(day1 || day31){

msg.append(“日號必須在(1~31)之間,輸入值(“+day+”)無效\n”);

return false;

}

}break;

case 2:{

if(isLeapYear(year) day29){

msg.append(“閏年的閏二月日號必須在(1~29)之間,”+year+”是閏年,輸入值(“+day+”)無效\n”);

return false; }else if(day28){

msg.append(“非閏年的閏二月的日號必須在(1~28)之間,”+year+”不是閏年,輸入值(“+day+”)無效\n”);

return false;

}

}break;

case 4:case 6:case 9:case 11:{

if(day1 || day30){

msg.append(“日號必須在(1~30)之間,輸入值(“+day+”)無效\n”);

return false;

}

}break;

default:{

msg.append(“月份必須在(1~12)之間,輸入值(“+mon+”)無效\n”);

return false;

}

}

}

return true;

}

static public boolean isLeapYear(int year){

return (year%4==0 year%100!=0)|| year%400==0;

}

包好。

java正則表達式校驗 ip

你直接用matchs判斷就可以了,matcher是只要內部有能匹配上的就算滿足,不是判斷整體。

String rexp = “([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}”;

String addr = “11111.1.1.1”;

System.out.println(“1.1.1.1”.matches(rexp));

System.out.println(“11.1.1.1”.matches(rexp));

System.out.println(“111.1.1.1”.matches(rexp));

System.out.println(“11111.1.1.1”.matches(rexp));

true

true

true

false

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/192621.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 10:28
下一篇 2024-12-01 10:28

相關推薦

發表回復

登錄後才能評論