2016-12-22 2 views
0

Я пытаюсь проверить вход для времени 00:00 pm или am. Я сделал 00:00 с подтверждением mask(), но я не могу продлить эту проверку с 00:00 или pm.Как выполнить определенную проверку для ввода с помощью jquery?

Я пробовал под кодом для проверки.

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

Но я хочу дать разрешение пользователю, который ставит значение только в этом формате (00:00 или pm). Я хотел бы оценить, если кто-то поможет. Спасибо

+0

Может ли это помочь [скрипке] (https://jsfiddle.net/t4cq6h8v/#&togetherjs=EMzihqmta9) – RonyLoud

ответ

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() вашей кнопки отправки.

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"/>

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'); 
Смежные вопросы