java 正则表达式验证日期格式 yyyy-MM-dd,如何写???
代码如下:
/*日期验证dd/mm/yyyy*/
functionisDate(str){
vardate=str;
varresult=date.match(/^([0]?[1-9]|[1|2][0-9]|[3][0|1])[/]([0]?[1-9]|[1][0-2])[/]([0-9]{4}|[0-9]{2})$/);
if(result==null)
returnfalse;
vard=newDate(result[3],result[2]-1,result[1]);
return(d.getFullYear()==result[3]&&(d.getMonth()+1)==result[2]&&d.getDate()==result[1]);
}
扩展资料
java用正则表达式判断输入的日期格式为yyyy/MM/dd
publicstaticvoidmain(String[]args)throwsParseException{
Stringstr1="2012-05-15";
Stringstr2="2012/05/15";
if(zzbd(str1)){
System.out.println("str1havematch!");
}else{System.out.println("str1don'tmatch!");}
if(zzbd(str2)){
System.out.println("str2havematch!");
}else{System.out.println("str2don'tmatch!");}}
publicstaticbooleanzzbd(Strings)
{
Patternpattern=Pattern.compile(\\d{4}/\\d{2}/\\d{2});
Matchermatcher=pattern.matcher(s);
if(matcher.find())
{
returntrue;
}else{
returnfalse;
}
}
}
Java正则,"^\\d{4}-\\d{2}-\\d{2}$"
严格验证 "1923-33-44",
多个空格" 1923-33-44"都算验证失败
闰年:((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,看懂了这个,你那个也就清楚了
String eL = "[0-9]{4}-[0-9]{2}-[0-9]{2}";
Pattern p = Pattern.compile(eL);
Matcher m = p.matcher(date);
boolean dateFlag = m.matches();
if (!dateFlag) {
System.out.println("格式错误");
}
System.out.println("格式正确");
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
System.out.print(format.format(date));
定义一个String类就行了
蒙性红花: 可以使用正则表达式进行匹配替换,例如下面代码:public class App50 { public static void main(String[] args) { String demo = "这个日期是2018/5/6书写出来的"; // xxxx年xx月xx日 格式 String demo2 = demo.replaceAll("(\\d{4})/(\\d{1,2})/(\\d{1,...
奉节县17715374283: java 正则表达式匹配日期问题 如要匹配下面两种格式,请分别写出?
蒙性红花: 1楼的有bug,即可以匹配2010-00-00这样的形式,我补充了下,不过也有bug,就是不能判断2010-02-31这样的形式,还需要使用Calendar类来验证日期的有效性. // //2009-01-01 12:30:30 //年-月-日 String reg = "^\\d{4}-0[1-9]|1[1-2]-0[1-9]|[1-2]...
奉节县17715374283: 就JAVA 日期的正则表达式 格式为:YYYY - MM - DD?
蒙性红花: Java正则,"^\\d{4}-\\d{2}-\\d{2}$" 严格验证 "1923-33-44", 多个空格" 1923-33-44"都算验证失败
奉节县17715374283: Java中如何用正则表达式找出各种表达形式的日期 - ?
蒙性红花: package tool;import java.util.regex.Matcher; import java.util.regex.Pattern;public class StringCruncher {public static void main ( String[] args ){String str = "注意我这里说2011-09-13的是找出,不是验证什么格式之类的.比如说str1=\"你好...
奉节县17715374283: java中如何验证输入的时间格式 - ?
蒙性红花: 用一个正则表达式判断下就可以了 String regEx = "[0-5][0-9]:[0-5][0-9]"; Pattern pat = Pattern.compile(regEx); Matcher mat = pat.matcher(“你要判断的字符串”); boolean rs = mat.matches(); if(rs == false){ 重新输入 } 试下看行不行 么验证过
奉节县17715374283: java 校验字符串是不是日期格式 - ?
蒙性红花: 方案A,用正则表达式判断,但是日期有多种表示法,要分别判断. 方案B,尝试转一下Date类型(或者其它时间相关的数据格式),try...catch一下看有没有Exception.
奉节县17715374283: 如和用java 写一个 正则表达式 验证日期的 要精确到毫秒的 2009 - 03 - 23 - 13.53.29.000000 - ?
蒙性红花: import java.text.ParseException; import java.text.SimpleDateFormat; public class Test { public static boolean isDate(String strDate, String sign) { boolean back = true; SimpleDateFormat sdf = new SimpleDateFormat(sign); try { sdf.parse(strDate); } ...
奉节县17715374283: java中如何判断输入的日期是否合法? - ?
蒙性红花: java.text.DateFormat dateFormat= new java.text.SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH); dateFormat.setLenient(false); java.util.Date timeDate = dateFormat.parse(dateString); //转换为util类型 看到dateFormat.setLenient(false);没有,设定其为false就是强制判断是否非法日期,不让系统自动转换,否则2月31号系统会自动转换为3月2号或者3号.
奉节县17715374283: java中我给String类型日期怎么用正则表达式判断该日期格式并动态创建SimpleDateFormat - ?
蒙性红花: public static Date formatDate_1(String date){ Date day=null; try { SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); day = format.parse(date); //SimpleDateFormat format2=new SimpleDateFormat("yyyy-MM-dd"); // ...
奉节县17715374283: 编写java主类,运用正则表达式,验证出生日期的合法性,求大神帮帮忙解决 - ?
蒙性红花: 如果出生日期是这种形式: 1990/01/01 String regex = "^\\d{4}/\\d{2}\\d{2}"; String birthdate="1993/02/03"; Boolean result= birthdate.matches(regex );