我在 asp .net 页面中有一个文本框。我为文本框编写的 javascript/jquery 仅接受时间(hh:mm 格式)
我对使用 Mask 验证器不感兴趣
任何帮助表示赞赏
我在 asp .net 页面中有一个文本框。我为文本框编写的 javascript/jquery 仅接受时间(hh:mm 格式)
我对使用 Mask 验证器不感兴趣
任何帮助表示赞赏
在我的头顶上遇到了这种情况,不确定这是否是您要寻找的:
<input type="datetime-local" name="bdaytime">
它由html5支持,我发现它非常有用,只是它有太多参数。
也许使用只允许格式为“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;
}
这是 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
的插件timepicker
:http ://trentrichardson.com/examples/timepicker/
有一个将处理屏蔽的屏蔽输入 JQuery 插件。见http://digitalbush.com/projects/masked-input-plugin/
$("#YourTextBox").mask("99:99");
屏蔽将仅验证数字输入。您仍然需要 javascript 代码通过检查 hh 和 mm 是否介于 00 和 60 之间来验证数字
你可能想看看这个
http://digitalbush.com/projects/masked-input-plugin/
或者您需要自己构建它,请参阅: https ://snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values/
你必须添加:强硬和文本长度修复/数字验证 - 我希望你明白这一点
问候简