0

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

   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();
                    }
                });
            }
        };
    });
4

1 回答 1

1

您需要更改您的正则表达式语句,以便它用空字符串替换任何数字,如下所示:

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

于 2019-01-24T11:37:06.027 回答