要求是当被匹配的字符串不能使是纯数字或者是日期格式(不考虑过于复杂的日期正则,仅仅yyyy-mm-dd即可)内容,求指导 如何写。

解决方案 »

  1.   

    http://blog.sina.com.cn/s/blog_491997ee0100av3m.html
      

  2.   

    对于正则我也是半解而已不过,我有个提议/^(([\d]+)|([\d](4)\-[\d](2)\-[\d](2)))$/用这个去匹配不匹配的才算合格
      

  3.   

    试试这个/^(?!([\d]{4}\-[\d]{2}\-[\d]{2}$)|([\d]$)).*$/
      

  4.   

    JS: 
     return  !/^(?:(\d{4}-\d{2}-\d{2})|\d*)$/.test(str);C#  return !Regex.IsMatch(str,@"^(?:(\d{4}-\d{2}-\d{2})|\d*)$/");
      

  5.   


     var email = document.getElementById("txtEmail");  
      var newRe = /([\d*]|\d{4}-\d{2}-\d{2})/;   
            if(!newRe.test(email.value))
            {
                alert('is True!');
            }
            else
            {
                alert('is False!');
            }其实我们可以先设置纯数字或者简单日期格式,然后取不匹配的就OK了~~~
      

  6.   

    不是给你JS版本的正则了么:
    JS:  return  !/^(?:(\d{4}-\d{2}-\d{2})|\d*)$/.test(str);
      

  7.   

    /^(?!([\d]{4}\-[\d]{2}\-[\d]{2}$)|([\d]+$)).*$/这个应该可以