首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅限angularjs日期输入

仅限angularjs日期输入
EN

Stack Overflow用户
提问于 2016-03-04 02:31:55
回答 1查看 33关注 0票数 0

我正在尝试验证输入的日期(dd/mm/yyy),如果不是日期,就不允许输入-例如字符串或任何东西

下面是我的代码,但不起作用-意味着允许用户输入任何内容

代码语言:javascript
运行
复制
angular.module('app')
.directive('onlyDates', function () {
    return {
        require: 'ngModel',
        restrict: 'A',
        link: function (scope, element, attr, ctrl) {
            function inputValue(val) {
                if (val) {
                    var reg = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
                    var res = reg.test(val);
                    if (!res) {
                        ctrl.$setViewValue(val);
                        ctrl.$render();
                        return NaN;
                    }
                    return val;
                }
                return undefined;
            }
            ctrl.$parsers.push(inputValue);
        }
    };
});
EN

回答 1

Stack Overflow用户

发布于 2016-03-04 04:49:37

您可以尝试使用ng-change和一些函数,它们可以在您键入时检查您输入的内容是否与您的模式匹配,如果不匹配,则删除最后输入的字符。

代码语言:javascript
运行
复制
<input type="text" ng-model="txtValue" ng-change="TextBoxChangedCheck()">


$scope.TextBoxChangedCheck = function () {
            //// enter your text validation here
        };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35780159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档