繁体   English   中英

如何制作仅接受时间(hh:mm)的文本框?

[英]How do I make a textbox that only accepts time(hh:mm)?

我在asp .net页面有一个文本框。 我为文本框写的javascript / jquery只接受时间(hh:mm格式)

我对使用Mask验证器不感兴趣

任何帮助赞赏

也许使用只允许格式为'01:01:2013'的值的正则表达式。 我对regExps并不是不可思议,但类似的东西可以解决这个问题......

var date_check = /[0-9]+ : ([0-9]) + : +[0-9]/;

if(yourtextboxname.value.match(date_check)) 
{
   // whatever you want it to do now...
    return true;
}
else {

    alert("Invalid date");
    return false;
}

最重要的是,我不知道这是不是你要找的东西:

<input type="datetime-local" name="bdaytime">

它受到html5的支持,我发现它非常有用,除了它有太多的参数。

这是HTML上下文:

<input type="text" id="field-time" name="timeInput" class="small form-control input-md ng-valid ng-dirty" ng-model="time" placeholder="HH:MM" ng-keypress="validateTimeSlot(time)"/> 

这是JS Angular函数:

$scope.validateTimeSlot=function (time) {
  var timeSlot = $scope.time;
  var validTimeFormat =  /^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$/;
  if(timeSlot == time && angular.isDefined(timeSlot) && !timeSlot.match(validTimeFormat)){
  $scope.error = "Please Enter ' Time' in HH:MM format ";
}

我使用jQuery的插件timepickerhttptimepicker

有一个掩码输入JQuery插件将处理掩码。 http://digitalbush.com/projects/masked-input-plugin/

$("#YourTextBox").mask("99:99");

masked将验证仅输入数字。你仍然需要javascript代码通过检查hh和mm是否介于00和60之间来验证数字

你可能想看看这个

http://digitalbush.com/projects/masked-input-plugin/

或者您需要自己构建它: https//snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values/

你将不得不添加:艰难和文本长度修复/数字验证 - 我希望你明白这一点

尊敬的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM