代码之家  ›  专栏  ›  技术社区  ›  Elaine Byene

在输入字段中输入的限制数字

  •  0
  • Elaine Byene  · 技术社区  · 6 年前

    DD MM 限12及以下 YYYY 1900年至2018年

    你知道怎么做吗?

    $('[data-type="dateofbirth"]').mask('00/00/0000');
    
    function submitBday1() {
      var Q4A = "";
      var Bdate = document.getElementById('bday1').value;
      var darr = Bdate.split('/');
      var temp = darr[0];
      darr[0] = darr[1];
      darr[1] = temp;
      var fmtstr = darr.join('/');
      var Bday = +new Date(fmtstr);
      Q4A += ~~((Date.now() - Bday) / (31557600000));
      var theBday = document.getElementById('resultBday1');
      theBday.innerHTML = Q4A;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>
    <input type="text" pattern="[0-9]*" data-type="dateofbirth" maxLength="10" id="date" class="form-control" placeholder="DD/MM/YYYY">
    3 回复  |  直到 6 年前
        1
  •  2
  •   gaetanoM    6 年前

    这个 jquery.mask.min.js 图书馆

    因此,我建议使用 Inputmask :

    $('[data-type="dateofbirth"]').inputmask({alias: 'datetime', inputFormat: 'dd/mm/yyyy'});
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://rawgit.com/RobinHerbots/Inputmask/4.x/dist/jquery.inputmask.bundle.js"></script>
    
    
    <input type="text" data-type="dateofbirth" maxLength="10" class="form-control" placeholder="dd/mm/yyyy">
        2
  •  0
  •   Catalyst surendra    6 年前

    1. 使用 <select> :

    <select>
        <option>1</option>
        <option>2</option>
        <option>...</option>
        <option>31</option>
    </select>
    1. <input type="number" min="1" max="31"> :

    <label>Day
    <input type="number" min="1" max="31" step="1" value="1" />
    </label>
    <label>Month
    <input type="number" min="1" max="12" step="1" value="1" />
    </label>
    <label>Year
    <input type="number" min="1900" max="2018" step="1" value="2018" />
    </label>

    注意:并非所有浏览器都支持 number

        3
  •  0
  •   Sheldon R    6 年前

    您希望验证您的输入,而不是hmlt5所能做的,因此像jQuery validate这样的插件将是一个好主意。

    首先,确认你的出生日期,瞬间.js将使其变得简单:

    moment(document.getElementById('bday1').value, 'DDMMYYY').isValid() moment(document.getElementById('bday1').value, 'DDMMYYY').year() <= 2018 moment(document.getElementById('bday1').value, 'DDMMYYY').year() <= moment().year()

    要将此绑定到jQuery validate中,可以添加以下内容作为jQuery validate的自定义方法,并为“日期”输入设置规则 validBirthDate : true

    $.validator.addMethod('validBirthDate', function(value){
        return moment(value, 'DDMMYYY').isValid() && moment(value, 'DDMMYYY').year() <= moment().year();
    })
    
        4
  •  0
  •   buycanna.io    5 年前

    试试这个。。。

    $('[data-type="dateofbirth"]').mask({
       alias: 'datetime',
       inputFormat: 'dd/mm/yyyy',
       min: '31/12/1900',
       max: '31/12/2018'
    });