JavaScript / jQuery input[type=text] pattern

JavaScript / jQuery input[type=text] pattern

本文关键字:text pattern type jQuery input JavaScript      更新时间:2023-09-26

好吧,我有一个表单中的输入,这是一个日期输入。我希望它接受基于"XX/XX/XXXX"等模式的字符。目前它只接受数字和"/"。但我不希望用户输入像"X/XXXX/XX"或其他种类的日期,我不希望写错"//XX/XXX/XXX"之类的日期。我不知道如何在这个问题上使用js或jQuery,因此用户根据模式而不是以其他方式输入日期。

便宜而简单的方法可能只是实现 jQuery UI 日期选取器控件,以便您可以通过该控件控制输入格式。

它基本上回避了问题,但可能会为您解决实际问题。

看看:http://digitalbush.com/projects/masked-input-plugin/

使用正则表达式^(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/