jquery.inputmask.regex.extensions.js 1.9 KB

1234
  1. (function(n){n.extend(n.inputmask.defaults.aliases,{Regex:{mask:"r",greedy:!1,repeat:"*",regex:null,regexTokens:null,tokenizer:/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,quantifierFilter:/[0-9]+[^,]/,definitions:{r:{validator:function(l,p,n,q,k){function g(){this.matches=[];this.isLiteral=this.isQuantifier=this.isGroup=!1}function t(){var c=
  2. new g,d,a=[];for(k.regexTokens=[];d=k.tokenizer.exec(k.regex);)switch(d=d[0],d.charAt(0)){case "[":case "\\":0<a.length?a[a.length-1].matches.push(d):c.matches.push(d);break;case "(":!c.isGroup&&0<c.matches.length&&k.regexTokens.push(c);c=new g;c.isGroup=!0;a.push(c);break;case ")":d=a.pop();0<a.length?a[a.length-1].matches.push(d):(k.regexTokens.push(d),c=new g);break;case "{":var b=new g;b.isQuantifier=!0;b.matches.push(d);0<a.length?a[a.length-1].matches.push(b):c.matches.push(b);break;default:b=
  3. new g,b.isLiteral=!0,b.matches.push(d),0<a.length?a[a.length-1].matches.push(b):c.matches.push(b)}0<c.matches.length&&k.regexTokens.push(c)}function s(c,d){var a=!1;d&&(b+="(",m++);for(var g=0;g<c.matches.length;g++){var e=c.matches[g];if(!0==e.isGroup)a=s(e,!0);else if(!0==e.isQuantifier){for(var e=e.matches[0],f=k.quantifierFilter.exec(e)[0].replace("}",""),f=b+"{1,"+f+"}",h=0;h<m;h++)f+=")";a=RegExp("^("+f+")$");a=a.test(r);b+=e}else if(!0==e.isLiteral){for(var e=e.matches[0],f=b,l="",h=0;h<m;h++)l+=
  4. ")";for(h=0;h<e.length&&!(f=(f+e[h]).replace(/\|$/,""),a=RegExp("^("+f+l+")$"),a=a.test(r));h++);b+=e}else{b+=e;f=b.replace(/\|$/,"");for(h=0;h<m;h++)f+=")";a=RegExp("^("+f+")$");a=a.test(r)}if(a)break}d&&(b+=")",m--);return a}null==k.regexTokens&&t();q=p.slice();var b="";p=!1;var m=0;q.splice(n,0,l);var r=q.join("");for(l=0;l<k.regexTokens.length&&!(g=k.regexTokens[l],p=s(g,g.isGroup));l++);return p},cardinality:1}}}})})(jQuery);