如何使用jquery对输入进行特定验证?

时间:2016-12-22 13:20:45

标签: javascript jquery

我正在尝试验证输入时间00:00 pm或am。我已经使用mask()验证完成了00:00,但我无法在00:00 am或pm延长此验证。

我在下面尝试了验证代码。

$("#phone").mask("00:00");

但我想向用户授予仅在此(00:00 am或pm)格式中放置值的权限。如果有人帮忙,我想感谢。谢谢

3 个答案:

答案 0 :(得分:1)

使用带有inputmask的选择器来验证input



$("#phone").inputmask({
    mask: "h:s t\\m",
    placeholder: "hh:mm xm",
    alias: "datetime",
    hourFormat: "12"
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/RobinHerbots/Inputmask/3.x/dist/jquery.inputmask.bundle.js"></script>

<input type="text" id="phone"/>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以尝试将它与moment.js

生成的值进行比较

function CompareDate(){  
  var inputTime = $("#phone").val();
  var momentx = moment('2016-11-11 ' + inputTime).format('YYYY-MM-DD h:mm A')
  if (momentx == "Invalid date" || !$.trim(inputTime) || inputTime.length == 1) {
    console.log(false);
    //return false;
  }
  else {
    console.log(true);
    //return true;
  }
}
<script src="http://momentjs.com/downloads/moment.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="phone"/> (e.g. 9:40 PM)
<button onclick="CompareDate();">Compare!</button>

您可以将CompareDate()功能添加到提交按钮的.click()

答案 2 :(得分:0)

试试这个。

$.mask.rules.H = /(0[0-9]|1[0-2])/;  // 12 hours
$.mask.rules.AP = /[a,A,p,P]M/;//am or pm
$.mask.masks.time = 'H:59 AP';
$("#phone").mask('time');