javascript - jQuery/Javascript 中的 DD/MM/YYYY 正则表达式等价物

标签 javascript php jquery regex

如何让 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>

http://js.do/code/65207

关于javascript - jQuery/Javascript 中的 DD/MM/YYYY 正则表达式等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31963195/

相关文章:

javascript - 将数组转换为 JSON 以检查值

javascript - 检查json数据的值

javascript - 将当前文本作为参数传递给 jquery 函数

javascript - 内部组件无法正确渲染

php - 分离的数据服务器、内容服务器、客户端服务器和后端服务器

javascript - select2 显示第一个选项而不是占位符

javascript - Date.getUTCDay 返回错误的日期

php - 查找顶级父级(递归)

php - 过滤两个类别的产品集合 Magento 1.7

javascript - 导入我的 CSS 文件导致我的 jquery 未定义(ReferenceError)