javascript - jQuery 掩码只允许某些数字组合

标签 javascript jquery

我正在尝试将 jQuery 掩码插件设置为仅接受字段最后两位数字的某些数据。

我想要的是:YYYY[03]、YYYY[06]、YYYY[09]、YYYY[12] 标记为有效,所有其他输入标记为无效。

示例:

  • 201612:有效
  • 201511:无效
  • 200403:有效
  • 201102:无效

到目前为止,我所拥有的是:

$('#YearMonth').mask('0000XZ', {
    translation: {
      'X': {
        pattern: /[0-1]/, optional: true
      },
      'Z': {
        pattern: /[0-9]/, optional: true
      }
    }
});

当然;这仍然无法正常工作。有没有办法使用 jQuery mask 插件来做到这一点?或者我应该尝试另一种方法?

谢谢

最佳答案

纯 JavaScript,使用正则表达式

/\d{4}03|06|09|12/  

function validation(s) {
    var r = /\d{4}03|06|09|12/;
    return s.match(r) ? s + ": Valid" : s + ": Invalid";
}

//test
["201612", "201511", "200403", "201102"].forEach(e =>
    document.write(validation(e) + '<br>'));

关于javascript - jQuery 掩码只允许某些数字组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164603/

相关文章:

javascript - 我怎样才能 "upgrade"DOM 中的 jQuery 版本?

javascript - Mouse Out Orange Div "CurrentHeight"未应用

用于检查错误标签的 JavaScript 正则表达式

javascript - 使用 AngularJS 将表单发布到新窗口

javascript - 检测广告是否加载

javascript - 如何使用 Jquery 将光标聚焦在两个括号(圆括号)之间?

javascript - AngularJS 1.3 或 AngularJS 1.2.x

javascript - 仅在 ios9 safari 浏览器中无法加载网页

jQuery Datepicker 删除单元格的边距

javascript - 弹出式 div 使 flash 消息不可点击