我需要验证我的文本框应仅包含 - 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
我做错了什么?
答案 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]*|\/*\|-*|.*$/;