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

时间:2013-08-09 15:18:48

标签: javascript jquery asp.net

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

我对使用Mask验证器

不感兴趣

任何帮助表示赞赏

6 个答案:

答案 0 :(得分:1)

也许使用只允许格式为'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;
}

答案 1 :(得分:1)

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

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

它由html5支持,我觉得它非常有用,除非它有太多参数。

答案 2 :(得分:1)

这是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 ";
}

答案 3 :(得分:0)

我使用jQuery的插件timepickerhttp://trentrichardson.com/examples/timepicker/

答案 4 :(得分:0)

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

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

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

答案 5 :(得分:0)

你可能想看看这个

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

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

你必须添加:强硬和文本长度修复/数字验证 - 我希望你明白这个想法

关于jan