當前位置:首頁 » 編程語言 » java正則表達式日期

java正則表達式日期

發布時間: 2024-12-18 16:26:28

1. 用java正則表達式怎麼匹配年月日(比如要求輸入為出生日期)

建議使用 ^(\d{2}|\d{4})[-/](0?[1-9]|1[12])[-/](0?[1-9]|[12]\d|3[01])$ 來匹配(日期不一定有效),然後嘗試轉換成日期.如果要嚴謹點可以用^(\d{2}|\d{4})[-/](((0?[13578]|10|12)[-/](0?[1-9]|[12]\d|3[01]))|((0?[469]|11)[-/](0?[1-9]|[12]\d|30))|(0?2[-/](0?[1-9]|[12]\d)))$但是這里還是有個問題:將所有年份的2月29日都當作有效日期

2. java 正則表達式驗證日期格式 yyyy-MM-dd,如何寫

我前不久剛好整了這段代碼,你仔細看一下:
閏年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))

平年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))

上面代碼驗證的格式是yyyyMMdd,看懂了這個,你那個也就清楚了

3. java驗證日期"yyyyMMdd"正則表達式,

正則表達式如下
/^(\d{4})-(\d{2})-(\d{2})$/

4. java中Js驗證日期的正則表達式格式為:yyyy/MM/dd

var result=data.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(10|12|0?[13578])(\/)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(11|0?[469])(\/)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(0?2)(\/)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(\/)(0?2)(\/)(29)$)|(^([3579][26]00)(\/)(0?2)(\/)(29)$)|(^([1][89][0][48])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][0][48])(\/)(0?2)(\/)(29)$)|(^([1][89][2468][048])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][2468][048])(\/)(0?2)(\/)(29)$)|(^([1][89][13579][26])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][13579][26])(\/)(0?2)(\/)(29)$))/);
將所有的(-)改成(\/)不就得了
我很久以前好像寫過一個和這差不多的正則

5. java 正則表達式驗證日期格式 yyyy-MM-dd,如何寫

我前不久剛好整了這段代碼,你仔細看一下:
閏年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
平年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
上面代碼驗證的格式是yyyyMMdd,看懂了這個,你那個也就清楚了

6. Java中驗證YYYYMMDDhhmmss的正則表達式 例如20051224120411是否符合 各位大俠多謝了

SImpleDateFormat.parse(String source) Date;
用這個方法就行 在實例化SimpleDateFormat的時候 記得把日期規則穿進去就ok了 日期規則區分大小寫
如果parse方法出現異常的話 就證明不符合

7. Java裡面效驗日期的正則表達式

publicstaticvoidmain(String[]args)
{
StringcheckValue="20000431112230";
Stringyear=checkValue.substring(0,4);//獲取年份
Stringmonth=checkValue.substring(4,6);//獲取月份
BooleanisLeap=leapYear(Integer.parseInt(year));//判斷閏年
System.out.println(isLeap);
StringBuffereL=newStringBuffer();
StringlongMonth="01030507081012";//31天的月份
Stringfix="([2][0-3]|[0-1][0-9]|[1-9])[0-5][0-9]([0-5][0-9]|[6][0])";


if(isLeap&&month.equals("02")){//針對2月份的情況【閏年】
eL.append("\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}elseif(!isLeap&&month.equals("02")){//針對2月份的情況【非閏年】
eL.append("\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-8]|[0][1-9]|[1-9])"+fix);
}elseif(longMonth.contains(month)){//31天月份
eL.append("\d{4}([1][0-2]|[0][0-9])([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}else{//30天月份
eL.append("\d{4}([1][0-2]|[0][0-9])([3][0]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}
Patternp=Pattern.compile(eL.toString());
Matcherm=p.matcher(checkValue);
booleanflag=m.matches();
if(flag)
{
System.out.println("格式正確");
}
else
{
System.out.println("格式錯誤");
}

}
publicstaticbooleanleapYear(intyear){
BooleanisLeap=false;
if(((year%100==0)&&(year%400==0))
||((year%100!=0)&&(year%4==0)))
isLeap=true;
returnisLeap;
}

熱點內容
linuxtcp代碼 發布:2024-12-18 18:48:50 瀏覽:178
華為手機密碼串在哪裡 發布:2024-12-18 18:43:09 瀏覽:937
github怎麼建文件夾 發布:2024-12-18 18:32:21 瀏覽:555
如何安裝python3 發布:2024-12-18 18:32:17 瀏覽:899
怎麼樣的電腦配置才帶的動pr 發布:2024-12-18 18:32:11 瀏覽:107
油卡怎麼改密碼 發布:2024-12-18 18:27:11 瀏覽:138
伺服器惡搞我的世界 發布:2024-12-18 18:22:37 瀏覽:250
cmppphp 發布:2024-12-18 18:21:37 瀏覽:78
數值最優化演算法 發布:2024-12-18 18:17:21 瀏覽:366
賓士a裸車都有哪些配置 發布:2024-12-18 18:07:31 瀏覽:484