jquery.inputmask.regex.extensions.js 1.3 KB

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