使用ereg()函数,要求年由4位数字组成,月份1-12,日1-31.
我使用的时候出现了一些问题,
例如,判断是否是4位数字的时候,我是这样写的
ereg("[0-9]{4}","2012")为什么像22222这样的5位数和5位以上的数都符合要求呢,
而且我试了一下,例如ereg("([上])|([中])|([下])","上1111"),好像字符串里面只要有上中下其中的任何一个,再加上其他的任何文字都能匹配,为什么呢,

解决方案 »

  1.   

    ereg("/[0-9]{4}/","2012")
    你要加上开始符 结束符,这样
    "[0-9]{4}“这样的话,当他有四位0-9之间的数就正确了,所以22222通过了。
      

  2.   

    我加上了开始符结束符,结果不能正确的检测了,这是为什么啊,请你多指教
    if(ereg("/[0-9]{4}/","0999")){
    echo "bbb";
    }
      

  3.   

    if(ereg("^[0-9]{4}$","0999")){ 
    echo "bbb"; 
    }
      

  4.   

    echo preg_match("/\b[0-9]{4}\b/","201222");
    换个函数吧.
      

  5.   

    ereg不需要加//
    preg_*才需要呢.
      

  6.   

    再请问大家,判断一个字是不是上中下其中的一个,我这样写,为什么不行呢
    ereg("([上])|([中])|([下])","上")