Reg Expression以匹配日期格式

时间:2012-01-18 17:33:22

标签: javascript regex

我需要验证我的文本框应仅包含 - numbers,-,/,.

我写过了休假功能,但它没有用......

<input type="text" onkeyup="isValidDate(this);"/>



    function isValidDate(f){ 
      var regDate = '/^[0-9]*|\/*\|-*|.*$/';
        alert("called::"+f.value);   
      if(!regDate.test(f.value))  
      alert("inside");
        f.value = f.value.replace(regDate,"");  
 }

我收到错误 - regDate.test is not a function
我做错了什么?

3 个答案:

答案 0 :(得分:2)

标题说你正在尝试匹配日期格式,但你的问题文字说:

i need to verify that my text box should contain only- numbers,-,/,.

您可以尝试使用此正则表达式:

/^[\d\/\.-]+$/

答案 1 :(得分:1)

无需报价。

 var regDate = /^[0-9]*|\/*\|-*|.*$/;
 if(!regDate.test(f.value)) ....

这将进行您需要的检查

/^[\d-/.]*$/.test(string);

要测试日期格式,您可以尝试类似

的内容
/\d+[-/.]\d+[-/.]\d+/.test(string);

答案 2 :(得分:0)

变量regDate是一个字符串,而不是一个RegExp对象。像这样创建它:

var regDate = new RegExp("/^[0-9]*|\/*\|-*|.*$/");

var regDate = /^[0-9]*|\/*\|-*|.*$/;