好吧,我在表单中有一个输入,这是一个日期输入。我想让它接受基于像“XX / XX / XXXX”这样的模式的角色。目前它只接受数字和“/”。但我不希望用户输入“X / XXXX / XX”等日期或其他类型的日期,我不希望能够像“// XX / XXX / XXX”那样写错。我不知道如何在这个或jQuery上使用js,所以用户根据模式输入日期,而不是以其他方式。
答案 0 :(得分:3)
便宜而简单的方法可能只是实现jQuery UI datepicker控件,以便您可以通过它控制输入格式。
它基本上可以解决问题,但可能会将实际问题排除在外。
答案 1 :(得分:1)
答案 2 :(得分:0)
使用正则表达式^(3[0-1]|[0-2]?[0-9])\/(0?[0-9]|1[0-2])\/(2[0-9]+)$
:
var date = "20/12/2012";
console.log(isDateOK(date));
function isDateOK(date) {
return date.match(/^(3[0-1]|[0-2]?[0-9])\/(0?[0-9]|1[0-2])\/([1-2][0-9]{3})$/);
}
如果不匹配则返回false。此示例使用DD / MM / YYYY。如果你想要MM / DD / YYYY,请使用以下正则表达式:^(0?[0-9]|1[0-2])\/(3[0-1]|[0-2]?[0-9])\/[1-2][0-9]{3$
JSFiddle:http://jsfiddle.net/UBFeN/2/