Angular.js:为一些特殊字符创建正则表达式

时间:2019-03-15 07:10:19

标签: javascript angularjs regex

我为unitNo输入字段创建了angularjs指令,以不允许键入特殊字符。我想为仅这些字符创建一个正则表达式,以禁止在以下输入中输入: ^ [<>“&] 。正则表达式,但是我的问题是当我放置此正则表达式时,它也不允许其他字符,例如:(){}#] [,您知道如何解决此问题吗?

angular.module(ANGULAR_MODULE).directive('unitNo', function () {
    return function (scope, element, attrs) {
        element.keypress(function (event) {
            var regex = new RegExp("^[<>\"&]+$");
            var str = String.fromCharCode(!event.charCode ? event.which : event.charCode);
            if (regex.test(str)) {
                event.preventDefault();
                return false;
            }
            else if (event.keyCode == 91 || event.keyCode == 93 || event.keyCode == 123 || event.keyCode == 125 || event.keyCode == 40 || event.keyCode == 41 || event.keyCode == 92 || event.keyCode == 124) {
                event.preventDefault();
                return false;
            }
        });
    };
});

0 个答案:

没有答案