Angular JS允许使用字母字符和特殊字符,但不能使用数字

时间:2019-01-24 03:11:35

标签: javascript angularjs input angularjs-ng-pattern

我的指令如下。我想要的是允许字母字符和特殊字符,但不允许数字。我们如何根据下面的代码进行更改。谢谢。

   app.directive('validEn', function () {
        return {
            require: '?ngModel',
            link: function (scope, element, attrs, ngModelCtrl, SweetAlert) {
                if (!ngModelCtrl) {
                    return;
                }

                ngModelCtrl.$parsers.push(function (val) {
                    var clean = val.replace(/[^a-z|^A-z|^\s]+/g, '');
                    console.log("sfdsfd")
                    if (val !== clean) {
                        ngModelCtrl.$setViewValue(clean);
                        ngModelCtrl.$render();
                    }
                    return clean;
                });

                element.bind('keypress', function (event) {
                    if (event.keyCode === 32) {
                        event.preventDefault();
                    }
                });
            }
        };
    });

1 个答案:

答案 0 :(得分:2)

您需要更改您的regex语句,以便它用空字符串替换所有数字,例如:

var clean = val.replace(/\d*/g, '');