简单的正则表达式
正则表达式30分钟入门教程,原文地址:http://manual.phpv.net/regular_expression.html
[0-9]可以代替\d表示一个数字,\d{9}表示9个数字。
实现一个简单的日期判断,
var reg = /^\d*$/; var trimValue = 20120316; ///^2\d{3}=2000-2999, (0\d|1[0-2])=00-09||10-12, ([0-2]\d|3[0-1])=00-29||30-31, \d*$/ var reg2 = /^2\d{3}(0\d|1[0-2])([0-2]\d|3[0-1])\d*$/;//20000000-29991231 var isNum = reg.test(trimValue); var isDateNum = reg2.test(trimValue); var regUri = /^(http|ftp|https|HTTP|FTP|HTTPS).*$/;// .匹配除换行符以外的任意字符 var isUri= regUri.test('http://www.test.com'); console.log('----------------isDateNum2:' + reg2.test(20120316)); console.log('----------------isDateNum3:' + reg2.test(13120316)); console.log('----------------isDateNum4:' + reg2.test(20121331)); console.log('----------------isDateNum5:' + reg2.test(20121231)); console.log('----------------isDateNum6:' + reg2.test(20121232)); console.log('----------------isUri:' + isUri);Java 版本:
Pattern pattern1 = Pattern.compile("^\\d*$"); Pattern pattern2 = Pattern.compile("^2\\d{3}(0\\d|1[0-2])([0-2]\\d|3[0-1])\\d*$"); Matcher matcher1 = pattern1.matcher(str); Matcher matcher2 = pattern2.matcher(str); if(matcher1.matches() && !matcher2.matches()){ Date d = new Date(Long.valueOf(str)); return d; }