简单的正则表达式

正则表达式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;
        }

        String temp = "a   b cd  ef";
        temp = temp.replaceAll(" {2,}"," ");//把两个以上的空格替换成一个空格。X{n,},n个以上的X。

你可能感兴趣的:(JavaScript,正则表达式,日期)