javascript - 验证 2 个复选框和 2 个文本框以及一种日期格式

标签 javascript date if-statement

我的目标是检查用户是否至少输入/选择了一个选项。如果他不这样做,则会出现警报。

如果用户输入日期,将进行验证。

现在,当用户不输入日期但选择其他选项时,日期验证的警告消息仍然出现。

http://jsfiddle.net/N43vg/1/

下面是我的代码...

帮助将不胜感激..谢谢! :)

var radio1 = document.getElementById('pending').checked;
    var radio2 = document.getElementById('completed').checked;

    var on = document.forms["searchform"]["order"].value;
    var date = document.forms["searchform"]["date"].value;

    if ((radio1 == "") && (radio2 == "") && (on == null || on=="") && (date == null || date =="")){
        alert('Please Choose at least 1 Option');
        return false;
    }



    if (date != null || date != "")
    {
         var pattern = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
        if(!(pattern.test(date)))
        {
            alert("Please enter the correct date format DD/MM/YYYY");
        return false;
        }

最佳答案

为了让您的 radio1 and radio2 验证 radio 是否被检查,您需要像这样编写代码:if ((!radio1) && (!radio2){},因为 radio1 和 radio2 中的值将是 true 或 false,而不是字符串值。

我会像下面的代码一样编写整个脚本,不需要空检查。

if ((!radio1) && (!radio2) && (on ==="") && (date ==="")){
    alert('Please Choose at least 1 Option');
    return false;
}



if (date !== "")
{
     var pattern = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
    if(!(pattern.test(date)))
    {
        alert("Please enter the correct date format DD/MM/YYYY");
    return false;
    }

关于javascript - 验证 2 个复选框和 2 个文本框以及一种日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20832480/

相关文章:

java - 如果两者都被评估,比较文字的顺序是否重要?

javascript - 动态填充 Vuex 状态

javascript - 服务器未发送响应

javascript - <frameset> 对象有时无法在 IE 8 中访问

mysql - 将 PHP 条件语句转换为 MySQL if-then 条件语句

JavaScript:在没有经典 if() 的情况下检查变量是否存在

javascript - 注销确认对话框

android - 如何将来自数据库的日期格式更改为android

php - 如何在 php 中找到最近的星期几?

c++ - 在没有宏的情况下获取编译时日期和时间