验证QR Code版本

qrcode版本有从1至40。

正则表达式:

/^([1-9]|[1-3][0-9]|40)$/

在用户创建qr code时,一个栏位就是实现qr code版本信息的。

以下Insus.NET把这个验证写成一个angularjs指令:

'use strict';

dmApp.directive('validateQrCodeVersion', function () {

    var REQUIRED_PATTERNS = [
        /^([1-9]|[1-3][0-9]|40)$/
    ];
   
    return {
        require: 'ngModel',
        link: function (scope, elm, attrs, ctrl) {

            ctrl.$validators.validateQrCodeVersion = function (modelValue, viewValue) {
                var status = true;

                if (!ctrl.$isEmpty(modelValue)) {
                    angular.forEach(REQUIRED_PATTERNS, function (pattern) {
                        status = status && pattern.test(modelValue);
                    });
                }
                return status;
            };
        }
    };
});
Source Code
原文地址:https://www.cnblogs.com/insus/p/13535228.html