信用卡有效期验证

时间:2019-02-19 08:53:20

标签: javascript dom

我正在尝试验证用户输入的信用卡的到期日期。示例12/2019 还要尝试确保用户输入有效的月份(1-12)和有效的年份(> 2018)。

以下是到目前为止我一直在研究的代码,到目前为止还没有工作。

您能看到我的代码有什么问题吗?实现我的有效期验证目标的最佳方法是什么?

HTML:

    <input name="exp_date" id="exp_date" type="text" maxlength="7" onChange="validateExp()" placeholder="MM / YYYY ">
      <br>
        <span id="error4" ></span>
      <br>

JS:

    function validateExp(){
    var expire = document.getElementById("exp_date");
    var d = new Date();
      var currentYear = d.getFullYear();
      var currentMonth = d.getMonth() + 1;
      // get parts of the expiration date
      var parts = expire.toString().split(/[-\/]+/);
      var year = parseInt(parts[1], 10);
      var month = parseInt(parts[0], 10);
      // compare the dates
      if (year < currentYear || (year == currentYear && month < currentMonth)) {
        error4.innerHTML = "The expiry date has passed.\n";

      }else if (month > 12){
       error4.innerHTML = "Invalid month.\n";
      };
    };

0 个答案:

没有答案