jquery.inputmask.regex.extensions.js 1.7 KB

1234
  1. (function(i){i.extend(i.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(f,j,i,l,g){function e(){this.matches=[];this.isQuantifier=this.isGroup=!1}function o(){var d=new e,
  2. b,a=[];for(g.regexTokens=[];b=g.tokenizer.exec(g.regex);)switch(b=b[0],b.charAt(0)){case "[":case "\\":!0!==d.isGroup&&(d=new e,g.regexTokens.push(d));0<a.length?a[a.length-1].matches.push(b):d.matches.push(b);break;case "(":d=new e;d.isGroup=!0;a.push(d);break;case ")":b=a.pop();0<a.length?a[a.length-1].matches.push(b):(g.regexTokens.push(b),d=new e,g.regexTokens.push(d));break;case "{":var c=new e;c.isQuantifier=!0;c.matches.push(b);0<a.length?a[a.length-1].matches.push(c):d.matches.push(c);break;
  3. default:0<a.length?a[a.length-1].matches.push(b):d.matches.push(b)}}function m(d,b){var a=!1;b&&(c+="(",k++);for(var e=0;e<d.matches.length;e++){var h=d.matches[e];if(!0==h.isGroup)a=m(h,!0);else if(!0==h.isQuantifier){for(var h=h.matches[0],a=g.quantifierFilter.exec(h)[0].replace("}",""),a=c+"{1,"+a+"}",f=0;f<k;f++)a+=")";a=RegExp("^("+a+")$");a=a.test(n);c+=h}else{c+=h;a=c.replace(/\|$/,"");for(f=0;f<k;f++)a+=")";a=RegExp("^("+a+")$");a=a.test(n)}if(a)break}b&&(c+=")",k--);return a}null==g.regexTokens&&
  4. o();var l=j.slice(),c="",j=!1,k=0;l.splice(i,0,f);for(var n=l.join(""),f=0;f<g.regexTokens.length&&!(e=g.regexTokens[f],j=m(e,e.isGroup));f++);return j},cardinality:1}}}})})(jQuery);