如何让 javascript 正则表达式检查输入值?和我在 php 中做的一样:
if (preg_match("/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/", $_POST['date']) === 0)
它必须只验证 DD/MM/YYYY,除 D/M/YYYY 外不应验证。我的 PHP 代码不允许 D/M/YYYY,只允许 DD/MM/YYYY,对于我正在进行的集成,它需要如此严格。
更新代码:但一直返回 false :/
//Date must ONLY be DD/MM/YYYY
jQuery.validator.addMethod("strictDate", function (value, element) {
if (this.optional(element)) {
return true;
}
var patt = new RegExp("/^((0[1-9])|([12][1-9])|(3[01]))\/((0[1-9])|(1[0-2]))\/((19[0-9]{2})|(2[0-9]{3}))$/");
if (patt.test(value)) {
return true;
} else {
return false;
}
}, "Date must be in the following format DD/MM/YYYY");
最佳答案
试试这个..
它的工作方式像 05/05/2005 而不是 5/05/2005
像 05/05/2005 而不是 05/5/2005 一样工作
<html>
<head>
<title>Date Example</title>
<script type="text/javascript">
function isValidDate(sText) {
var reDate = /(?:0[1-9]|[12][0-9]|3[01])\/(?:0[1-9]|1[0-2])\/(?:19|20\d{2})/;
return reDate.test(sText);
}
function validate() {
var oInput1 = document.getElementById("txt1");
if (isValidDate(oInput1.value)) {
alert("Valid");
} else {
alert("Invalid!");
}
}
</script>
</head>
<body>
<P>Date: <input type="text" id="txt1" /><br />
example: 05/05/2005<br />
<input type="button" value="Validate" onclick="validate()" /></p>
</body>
</html>
关于javascript - jQuery/Javascript 中的 DD/MM/YYYY 正则表达式等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31963195/