如何匹配: YYYYMMDD 或 MMDDYYYY 
例如合法:20060223  或 02232006
不合法:2006/02/23

解决方案 »

  1.   

    Re:min_jie(止戈) 
    判断这个就不要用正则了。。正则没办法控制得很好的。。
    比如:12301129是1230年11月29日还是1129年12月30日呢?
    如果说只要判断8位都是数字就可以的话。那就这样吧:
    ^\d{8}$12301129是1230年11月29日还是1129年12月30日,分别由用户用两个
    表达式去验证,YYYYMMDD或MMDDYYYY
      

  2.   

    那就写个不是很严密的吧:
    yyyyMMdd:^\d{4}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$
    MMddyyyy:^((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{4}$我不认为这样很好。。
      

  3.   

    已经蒙出来了,谢谢各位关注,结贴
    YYYYMMDD: (19|20)\d\d+(0[1-9]|1[012])+(0[1-9]|[12][0-9]|3[01])$
    MMDDYYYY: (0[1-9]|1[012])+(0[1-9]|[12][0-9]|3[01])+(19|20)\d\d$