validator
Advanced tools
Comparing version 0.1.2 to 0.1.3
@@ -27,3 +27,3 @@ var net = require('net'); | ||
Validator.prototype.isUrl = function() { | ||
if (!this.str.match(/^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?((?:(?:[-\w\d{1-3}]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|edu|co\.uk|ac\.uk|it|fr|tv|museum|asia|local|travel|[a-z]{2})?)|((\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)(\.(\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)){3}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$ |\/.,*:;=]|%[a-f\d]{2})*)?$/)) { | ||
if (!this.str.match(/^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?((?:(?:[-\w\d{1-3}]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|edu|co\.uk|ac\.uk|it|fr|tv|museum|asia|local|travel|[a-z]{2}))|((\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)(\.(\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)){3}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$ |\/.,*:;=]|%[a-f\d]{2})*)?$/)) { | ||
this.error(this.msg || 'Invalid URL'); | ||
@@ -30,0 +30,0 @@ } |
{ "name" : "validator", | ||
"description" : "Data validation, filtering and sanitization for node.js", | ||
"version" : "0.1.2", | ||
"version" : "0.1.3", | ||
"homepage" : "http://github.com/chriso/node-validator", | ||
@@ -5,0 +5,0 @@ "keywords" : ["validator", "validation", "assert", "params", "sanitization", "xss", "entities", "sanitize", "sanitisation", "input"], |
@@ -44,2 +44,3 @@ var node_validator = require('../lib'), | ||
'invalid.x', | ||
'invalid.', | ||
'.com', | ||
@@ -46,0 +47,0 @@ 'http://com/', |
@@ -23,2 +23,2 @@ /* | ||
*/ | ||
(function(h){var k={" ":"\u00a0","¡":"\u00a1","¢":"\u00a2","£":"\u00a3","¤":"\u20ac","¥":"\u00a5","¦":"\u0160","§":"\u00a7","¨":"\u0161","©":"\u00a9","ª":"\u00aa","«":"\u00ab","¬":"\u00ac","­":"\u00ad","®":"\u00ae","¯":"\u00af","°":"\u00b0","±":"\u00b1","²":"\u00b2","³":"\u00b3","´":"\u017d","µ":"\u00b5","¶":"\u00b6","·":"\u00b7","¸":"\u017e","¹":"\u00b9","º":"\u00ba","»":"\u00bb","¼":"\u0152","½":"\u0153","¾":"\u0178","¿":"\u00bf","À":"\u00c0","Á":"\u00c1","Â":"\u00c2","Ã":"\u00c3","Ä":"\u00c4","Å":"\u00c5","Æ":"\u00c6","Ç":"\u00c7","È":"\u00c8","É":"\u00c9","Ê":"\u00ca","Ë":"\u00cb","Ì":"\u00cc","Í":"\u00cd","Î":"\u00ce","Ï":"\u00cf","Ð":"\u00d0","Ñ":"\u00d1","Ò":"\u00d2","Ó":"\u00d3","Ô":"\u00d4","Õ":"\u00d5","Ö":"\u00d6","×":"\u00d7","Ø":"\u00d8","Ù":"\u00d9","Ú":"\u00da","Û":"\u00db","Ü":"\u00dc","Ý":"\u00dd","Þ":"\u00de","ß":"\u00df","à":"\u00e0","á":"\u00e1","â":"\u00e2","ã":"\u00e3","ä":"\u00e4","å":"\u00e5","æ":"\u00e6","ç":"\u00e7","è":"\u00e8","é":"\u00e9","ê":"\u00ea","ë":"\u00eb","ì":"\u00ec","í":"\u00ed","î":"\u00ee","ï":"\u00ef","ð":"\u00f0","ñ":"\u00f1","ò":"\u00f2","ó":"\u00f3","ô":"\u00f4","õ":"\u00f5","ö":"\u00f6","÷":"\u00f7","ø":"\u00f8","ù":"\u00f9","ú":"\u00fa","û":"\u00fb","ü":"\u00fc","ý":"\u00fd","þ":"\u00fe","ÿ":"\u00ff",""":"\u0022","<":"\u003c",">":"\u003e","'":"\u0027","−":"\u2212","ˆ":"\u02c6","˜":"\u02dc","Š":"\u0160","‹":"\u2039","Œ":"\u0152","‘":"\u2018","’":"\u2019","“":"\u201c","”":"\u201d","•":"\u2022","–":"\u2013","—":"\u2014","™":"\u2122","š":"\u0161","›":"\u203a","œ":"\u0153","Ÿ":"\u0178","ƒ":"\u0192","Α":"\u0391","Β":"\u0392","Γ":"\u0393","Δ":"\u0394","Ε":"\u0395","Ζ":"\u0396","Η":"\u0397","Θ":"\u0398","Ι":"\u0399","Κ":"\u039a","Λ":"\u039b","Μ":"\u039c","Ν":"\u039d","Ξ":"\u039e","Ο":"\u039f","Π":"\u03a0","Ρ":"\u03a1","Σ":"\u03a3","Τ":"\u03a4","Υ":"\u03a5","Φ":"\u03a6","Χ":"\u03a7","Ψ":"\u03a8","Ω":"\u03a9","α":"\u03b1","β":"\u03b2","γ":"\u03b3","δ":"\u03b4","ε":"\u03b5","ζ":"\u03b6","η":"\u03b7","θ":"\u03b8","ι":"\u03b9","κ":"\u03ba","λ":"\u03bb","μ":"\u03bc","ν":"\u03bd","ξ":"\u03be","ο":"\u03bf","π":"\u03c0","ρ":"\u03c1","ς":"\u03c2","σ":"\u03c3","τ":"\u03c4","υ":"\u03c5","φ":"\u03c6","χ":"\u03c7","ψ":"\u03c8","ω":"\u03c9","ϑ":"\u03d1","ϒ":"\u03d2","ϖ":"\u03d6"," ":"\u2002"," ":"\u2003"," ":"\u2009","‌":"\u200c","‍":"\u200d","‎":"\u200e","‏":"\u200f","‚":"\u201a","„":"\u201e","†":"\u2020","‡":"\u2021","…":"\u2026","‰":"\u2030","′":"\u2032","″":"\u2033","‾":"\u203e","⁄":"\u2044","€":"\u20ac","ℑ":"\u2111","℘":"\u2118","ℜ":"\u211c","ℵ":"\u2135","←":"\u2190","↑":"\u2191","→":"\u2192","↓":"\u2193","↔":"\u2194","↵":"\u21b5","⇐":"\u21d0","⇑":"\u21d1","⇒":"\u21d2","⇓":"\u21d3","⇔":"\u21d4","∀":"\u2200","∂":"\u2202","∃":"\u2203","∅":"\u2205","∇":"\u2207","∈":"\u2208","∉":"\u2209","∋":"\u220b","∏":"\u220f","∑":"\u2211","∗":"\u2217","√":"\u221a","∝":"\u221d","∞":"\u221e","∠":"\u2220","∧":"\u2227","∨":"\u2228","∩":"\u2229","∪":"\u222a","∫":"\u222b","∴":"\u2234","∼":"\u223c","≅":"\u2245","≈":"\u2248","≠":"\u2260","≡":"\u2261","≤":"\u2264","≥":"\u2265","⊂":"\u2282","⊃":"\u2283","⊄":"\u2284","⊆":"\u2286","⊇":"\u2287","⊕":"\u2295","⊗":"\u2297","⊥":"\u22a5","⋅":"\u22c5","⌈":"\u2308","⌉":"\u2309","⌊":"\u230a","⌋":"\u230b","⟨":"\u2329","⟩":"\u232a","◊":"\u25ca","♠":"\u2660","♣":"\u2663","♥":"\u2665","♦":"\u2666"};var a=function(q){if(!~q.indexOf("&")){return q}for(var p in k){q=q.replace(new RegExp(p,"g"),k[p])}q=q.replace(/&#x(0*[0-9a-f]{2,5});?/gi,function(r,s){return String.fromCharCode(parseInt(+s,16))});q=q.replace(/&#([0-9]{2,4});?/gi,function(r,s){return String.fromCharCode(+s)});q=q.replace(/&/g,"&");return q};var l=function(q){q=q.replace(/&/g,"&");for(var p in k){q=q.replace(new RegExp(k[p],"g"),p)}return q};h.entities={encode:l,decode:a};var g={"document.cookie":"[removed]","document.write":"[removed]",".parentNode":"[removed]",".innerHTML":"[removed]","window.location":"[removed]","-moz-binding":"[removed]","<!--":"<!--","-->":"-->","<![CDATA[":"<![CDATA["};var m={"javascript\\s*:":"[removed]","expression\\s*(\\(|&\\#40;)":"[removed]","vbscript\\s*:":"[removed]","Redirect\\s+302":"[removed]"};var o=[/%0[0-8bcef]/g,/%1[0-9a-f]/g,/[\x00-\x08]/g,/\x0b/g,/\x0c/g,/[\x0e-\x1f]/g];var i=["javascript","expression","vbscript","script","applet","alert","document","write","cookie","window"];h.xssClean=function(u,p){if(typeof u==="array"||typeof u==="object"){for(var r in u){u[r]=xssClean(u[r])}return u}u=j(u);u=u.replace(/\&([a-z\_0-9]+)\=([a-z\_0-9]+)/i,f()+"$1=$2");u=u.replace(/(&\#?[0-9a-z]{2,})([\x00-\x20])*;?/i,"$1;$2");u=u.replace(/(&\#x?)([0-9A-F]+);?/i,"$1;$2");u=u.replace(f(),"&");u=decodeURIComponent(u);u=u.replace(/[a-z]+=([\'\"]).*?\\1/gi,function(v,w){return v.replace(w,d(w))});u=u.replace(/<\w+.*?(?=>|<|$)/gi,function(v,w){});u=j(u);u=u.replace("\t"," ");var t=u;for(var r in g){u=u.replace(r,g[r])}for(var r in m){u=u.replace(new RegExp(r,"i"),m[r])}for(var r in i){var s=i[r].split("").join("\\s*")+"\\s*";u=u.replace(new RegExp("("+s+")(\\W)","ig"),function(v,w,x){return w.replace(/\s+/g,"")+x})}do{var q=u;if(u.match(/<a/i)){u=u.replace(/<a\\s+([^>]*?)(>|$)/gi,function(v,w,x){w=n(w.replace("<","").replace(">",""));return v.replace(w,w.replace(/href=.*?(alert\(|alert&\#40;|javascript\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\\s*,)/gi,""))})}if(u.match(/<img/i)){u=u.replace(/<img\\s+([^>]*?)(\\s?\/?>|$)/gi,function(v,w,x){w=n(w.replace("<","").replace(">",""));return v.replace(w,w.replace(/src=.*?(alert\(|alert&\#40;|javascript\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\\s*,)/gi,""))})}if(u.match(/script/i)||u.match(/xss/i)){u=u.replace(/<(\/*)(script|xss)(.*?)\>/gi,"[removed]")}}while(q!=u);event_handlers=["[^a-z_-]onw*"];if(!p){event_handlers.push("xmlns")}u=u.replace(new RegExp("<([^><]+?)("+event_handlers.join("|")+")(\\s*=\\s*[^><]*)([><]*)","i"),"<$1$4");naughty="alert|applet|audio|basefont|base|behavior|bgsound|blink|body|embed|expression|form|frameset|frame|head|html|ilayer|iframe|input|isindex|layer|link|meta|object|plaintext|style|script|textarea|title|video|xml|xss";u=u.replace(new RegExp("<(/*\\s*)("+naughty+")([^><]*)([><]*)","gi"),function(w,x,v,z,y){return"<"+x+v+z+y.replace(">",">").replace("<","<")});u=u.replace(/(alert|cmd|passthru|eval|exec|expression|system|fopen|fsockopen|file|file_get_contents|readfile|unlink)(\\s*)\((.*?)\)/gi,"$1$2($3)");for(var r in g){u=u.replace(r,g[r])}for(var r in m){u=u.replace(new RegExp(r,"i"),m[r])}if(p&&u!==t){throw"Image may contain XSS"}return u};function j(q){for(var p in o){q=q.replace(o[p],"")}return q}function f(){return"!*$^#(@*#&"}function d(p){return p.replace(">",">").replace("<","<").replace("\\","\\\\")}function n(p){out="";p.replace(/\\s*[a-z\-]+\\s*=\\s*(?:\042|\047)(?:[^\\1]*?)\\1/gi,function(q){$out+=q.replace(/\/\*.*?\*\//g,"")});return out}var e=h.Validator=function(){};e.prototype.check=function(p,q){this.str=String(p||"");this.msg=q;return this};e.prototype.validate=e.prototype.check;e.prototype.assert=e.prototype.check;e.prototype.error=function(p){throw p};e.prototype.isEmail=function(){if(!this.str.match(/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/)){this.error(this.msg||"Invalid email")}return this};e.prototype.isUrl=function(){if(!this.str.match(/^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?((?:(?:[-\w\d{1-3}]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|edu|co\.uk|ac\.uk|it|fr|tv|museum|asia|local|travel|[a-z]{2})?)|((\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)(\.(\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)){3}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$ |\/.,*:;=]|%[a-f\d]{2})*)?$/)){this.error(this.msg||"Invalid URL")}return this};e.prototype.isIP=function(){if(!this.str.match(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)){this.error(this.msg||"Invalid IP")}return this};e.prototype.isAlpha=function(){if(!this.str.match(/^[a-zA-Z]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isAlphanumeric=function(){if(!this.str.match(/^[a-zA-Z0-9]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isNumeric=function(){if(!this.str.match(/^-?[0-9]+$/)){this.error(this.msg||"Invalid number")}return this};e.prototype.isLowercase=function(){if(!this.str.match(/^[a-z0-9]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isUppercase=function(){if(!this.str.match(/^[A-Z0-9]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isInt=function(){if(!this.str.match(/^(?:-?(?:0|[1-9][0-9]*))$/)){this.error(this.msg||"Invalid integer")}return this};e.prototype.isDecimal=function(){if(!this.str.match(/^(?:-?(?:0|[1-9][0-9]*))?(?:\.[0-9]*)?$/)){this.error(this.msg||"Invalid decimal")}return this};e.prototype.isFloat=function(){return this.isDecimal()};e.prototype.notNull=function(){if(this.str===""){this.error(this.msg||"Invalid characters")}return this};e.prototype.isNull=function(){if(this.str!==""){this.error(this.msg||"Invalid characters")}return this};e.prototype.notEmpty=function(){if(this.str.match(/^[\s\t\r\n]*$/)){this.error(this.msg||"String is whitespace")}return this};e.prototype.equals=function(p){if(this.str!=p){this.error(this.msg||"Not equal")}return this};e.prototype.contains=function(p){if(this.str.indexOf(p)===-1){this.error(this.msg||"Invalid characters")}return this};e.prototype.notContains=function(p){if(this.str.indexOf(p)>=0){this.error(this.msg||"Invalid characters")}return this};e.prototype.regex=e.prototype.is=function(q,p){if(typeof q!=="function"){q=new RegExp(q,p)}if(!this.str.match(q)){this.error(this.msg||"Invalid characters")}return this};e.prototype.notRegex=e.prototype.not=function(q,p){if(typeof q!=="function"){q=new RegExp(q,p)}if(this.str.match(q)){this.error(this.msg||"Invalid characters")}return this};e.prototype.len=function(q,p){if(this.str.length<q){this.error(this.msg||"String is too small")}if(typeof p!==undefined&&this.str.length>p){this.error(this.msg||"String is too large")}return this};var c=h.Filter=function(){};var b="\\r\\n\\t\\s";c.prototype.modify=function(p){this.str=p};c.prototype.convert=c.prototype.sanitize=function(p){this.str=p;return this};c.prototype.xss=function(p){this.modify(xssClean(this.str,p));return this.str};c.prototype.entityDecode=function(){this.modify(a(this.str));return this.str};c.prototype.entityEncode=function(){this.modify(l(this.str));return this.str};c.prototype.ltrim=function(p){p=p||b;this.modify(this.str.replace(new RegExp("^["+p+"]+","g"),""));return this.str};c.prototype.rtrim=function(p){p=p||b;this.modify(this.str.replace(new RegExp("["+p+"]+$","g"),""));return this.str};c.prototype.trim=function(p){p=p||b;this.modify(this.str.replace(new RegExp("^["+p+"]+|["+p+"]+$","g"),""));return this.str};c.prototype.ifNull=function(p){if(!this.str||this.str===""){this.modify(p)}return this.str};c.prototype.toFloat=function(){this.modify(parseFloat(this.str));return this.str};c.prototype.toInt=function(){this.modify(parseInt(this.str));return this.str};c.prototype.toBoolean=function(){if(!this.str||this.str=="0"||this.str=="false"||this.str==""){this.modify(false)}else{this.modify(true)}return this.str};c.prototype.toBooleanStrict=function(){if(this.str=="1"||this.str=="true"){this.modify(true)}else{this.modify(false)}return this.str};h.sanitize=h.convert=function(q){var p=new h.Filter();return p.sanitize(q)};h.check=h.validate=h.assert=function(q,r){var p=new h.Validator();return p.check(q,r)}})(this); | ||
(function(h){var k={" ":"\u00a0","¡":"\u00a1","¢":"\u00a2","£":"\u00a3","¤":"\u20ac","¥":"\u00a5","¦":"\u0160","§":"\u00a7","¨":"\u0161","©":"\u00a9","ª":"\u00aa","«":"\u00ab","¬":"\u00ac","­":"\u00ad","®":"\u00ae","¯":"\u00af","°":"\u00b0","±":"\u00b1","²":"\u00b2","³":"\u00b3","´":"\u017d","µ":"\u00b5","¶":"\u00b6","·":"\u00b7","¸":"\u017e","¹":"\u00b9","º":"\u00ba","»":"\u00bb","¼":"\u0152","½":"\u0153","¾":"\u0178","¿":"\u00bf","À":"\u00c0","Á":"\u00c1","Â":"\u00c2","Ã":"\u00c3","Ä":"\u00c4","Å":"\u00c5","Æ":"\u00c6","Ç":"\u00c7","È":"\u00c8","É":"\u00c9","Ê":"\u00ca","Ë":"\u00cb","Ì":"\u00cc","Í":"\u00cd","Î":"\u00ce","Ï":"\u00cf","Ð":"\u00d0","Ñ":"\u00d1","Ò":"\u00d2","Ó":"\u00d3","Ô":"\u00d4","Õ":"\u00d5","Ö":"\u00d6","×":"\u00d7","Ø":"\u00d8","Ù":"\u00d9","Ú":"\u00da","Û":"\u00db","Ü":"\u00dc","Ý":"\u00dd","Þ":"\u00de","ß":"\u00df","à":"\u00e0","á":"\u00e1","â":"\u00e2","ã":"\u00e3","ä":"\u00e4","å":"\u00e5","æ":"\u00e6","ç":"\u00e7","è":"\u00e8","é":"\u00e9","ê":"\u00ea","ë":"\u00eb","ì":"\u00ec","í":"\u00ed","î":"\u00ee","ï":"\u00ef","ð":"\u00f0","ñ":"\u00f1","ò":"\u00f2","ó":"\u00f3","ô":"\u00f4","õ":"\u00f5","ö":"\u00f6","÷":"\u00f7","ø":"\u00f8","ù":"\u00f9","ú":"\u00fa","û":"\u00fb","ü":"\u00fc","ý":"\u00fd","þ":"\u00fe","ÿ":"\u00ff",""":"\u0022","<":"\u003c",">":"\u003e","'":"\u0027","−":"\u2212","ˆ":"\u02c6","˜":"\u02dc","Š":"\u0160","‹":"\u2039","Œ":"\u0152","‘":"\u2018","’":"\u2019","“":"\u201c","”":"\u201d","•":"\u2022","–":"\u2013","—":"\u2014","™":"\u2122","š":"\u0161","›":"\u203a","œ":"\u0153","Ÿ":"\u0178","ƒ":"\u0192","Α":"\u0391","Β":"\u0392","Γ":"\u0393","Δ":"\u0394","Ε":"\u0395","Ζ":"\u0396","Η":"\u0397","Θ":"\u0398","Ι":"\u0399","Κ":"\u039a","Λ":"\u039b","Μ":"\u039c","Ν":"\u039d","Ξ":"\u039e","Ο":"\u039f","Π":"\u03a0","Ρ":"\u03a1","Σ":"\u03a3","Τ":"\u03a4","Υ":"\u03a5","Φ":"\u03a6","Χ":"\u03a7","Ψ":"\u03a8","Ω":"\u03a9","α":"\u03b1","β":"\u03b2","γ":"\u03b3","δ":"\u03b4","ε":"\u03b5","ζ":"\u03b6","η":"\u03b7","θ":"\u03b8","ι":"\u03b9","κ":"\u03ba","λ":"\u03bb","μ":"\u03bc","ν":"\u03bd","ξ":"\u03be","ο":"\u03bf","π":"\u03c0","ρ":"\u03c1","ς":"\u03c2","σ":"\u03c3","τ":"\u03c4","υ":"\u03c5","φ":"\u03c6","χ":"\u03c7","ψ":"\u03c8","ω":"\u03c9","ϑ":"\u03d1","ϒ":"\u03d2","ϖ":"\u03d6"," ":"\u2002"," ":"\u2003"," ":"\u2009","‌":"\u200c","‍":"\u200d","‎":"\u200e","‏":"\u200f","‚":"\u201a","„":"\u201e","†":"\u2020","‡":"\u2021","…":"\u2026","‰":"\u2030","′":"\u2032","″":"\u2033","‾":"\u203e","⁄":"\u2044","€":"\u20ac","ℑ":"\u2111","℘":"\u2118","ℜ":"\u211c","ℵ":"\u2135","←":"\u2190","↑":"\u2191","→":"\u2192","↓":"\u2193","↔":"\u2194","↵":"\u21b5","⇐":"\u21d0","⇑":"\u21d1","⇒":"\u21d2","⇓":"\u21d3","⇔":"\u21d4","∀":"\u2200","∂":"\u2202","∃":"\u2203","∅":"\u2205","∇":"\u2207","∈":"\u2208","∉":"\u2209","∋":"\u220b","∏":"\u220f","∑":"\u2211","∗":"\u2217","√":"\u221a","∝":"\u221d","∞":"\u221e","∠":"\u2220","∧":"\u2227","∨":"\u2228","∩":"\u2229","∪":"\u222a","∫":"\u222b","∴":"\u2234","∼":"\u223c","≅":"\u2245","≈":"\u2248","≠":"\u2260","≡":"\u2261","≤":"\u2264","≥":"\u2265","⊂":"\u2282","⊃":"\u2283","⊄":"\u2284","⊆":"\u2286","⊇":"\u2287","⊕":"\u2295","⊗":"\u2297","⊥":"\u22a5","⋅":"\u22c5","⌈":"\u2308","⌉":"\u2309","⌊":"\u230a","⌋":"\u230b","⟨":"\u2329","⟩":"\u232a","◊":"\u25ca","♠":"\u2660","♣":"\u2663","♥":"\u2665","♦":"\u2666"};var a=function(q){if(!~q.indexOf("&")){return q}for(var p in k){q=q.replace(new RegExp(p,"g"),k[p])}q=q.replace(/&#x(0*[0-9a-f]{2,5});?/gi,function(r,s){return String.fromCharCode(parseInt(+s,16))});q=q.replace(/&#([0-9]{2,4});?/gi,function(r,s){return String.fromCharCode(+s)});q=q.replace(/&/g,"&");return q};var l=function(q){q=q.replace(/&/g,"&");for(var p in k){q=q.replace(new RegExp(k[p],"g"),p)}return q};h.entities={encode:l,decode:a};var g={"document.cookie":"[removed]","document.write":"[removed]",".parentNode":"[removed]",".innerHTML":"[removed]","window.location":"[removed]","-moz-binding":"[removed]","<!--":"<!--","-->":"-->","<![CDATA[":"<![CDATA["};var m={"javascript\\s*:":"[removed]","expression\\s*(\\(|&\\#40;)":"[removed]","vbscript\\s*:":"[removed]","Redirect\\s+302":"[removed]"};var o=[/%0[0-8bcef]/g,/%1[0-9a-f]/g,/[\x00-\x08]/g,/\x0b/g,/\x0c/g,/[\x0e-\x1f]/g];var i=["javascript","expression","vbscript","script","applet","alert","document","write","cookie","window"];h.xssClean=function(u,p){if(typeof u==="array"||typeof u==="object"){for(var r in u){u[r]=xssClean(u[r])}return u}u=j(u);u=u.replace(/\&([a-z\_0-9]+)\=([a-z\_0-9]+)/i,f()+"$1=$2");u=u.replace(/(&\#?[0-9a-z]{2,})([\x00-\x20])*;?/i,"$1;$2");u=u.replace(/(&\#x?)([0-9A-F]+);?/i,"$1;$2");u=u.replace(f(),"&");u=decodeURIComponent(u);u=u.replace(/[a-z]+=([\'\"]).*?\\1/gi,function(v,w){return v.replace(w,d(w))});u=u.replace(/<\w+.*?(?=>|<|$)/gi,function(v,w){});u=j(u);u=u.replace("\t"," ");var t=u;for(var r in g){u=u.replace(r,g[r])}for(var r in m){u=u.replace(new RegExp(r,"i"),m[r])}for(var r in i){var s=i[r].split("").join("\\s*")+"\\s*";u=u.replace(new RegExp("("+s+")(\\W)","ig"),function(v,w,x){return w.replace(/\s+/g,"")+x})}do{var q=u;if(u.match(/<a/i)){u=u.replace(/<a\\s+([^>]*?)(>|$)/gi,function(v,w,x){w=n(w.replace("<","").replace(">",""));return v.replace(w,w.replace(/href=.*?(alert\(|alert&\#40;|javascript\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\\s*,)/gi,""))})}if(u.match(/<img/i)){u=u.replace(/<img\\s+([^>]*?)(\\s?\/?>|$)/gi,function(v,w,x){w=n(w.replace("<","").replace(">",""));return v.replace(w,w.replace(/src=.*?(alert\(|alert&\#40;|javascript\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\\s*,)/gi,""))})}if(u.match(/script/i)||u.match(/xss/i)){u=u.replace(/<(\/*)(script|xss)(.*?)\>/gi,"[removed]")}}while(q!=u);event_handlers=["[^a-z_-]onw*"];if(!p){event_handlers.push("xmlns")}u=u.replace(new RegExp("<([^><]+?)("+event_handlers.join("|")+")(\\s*=\\s*[^><]*)([><]*)","i"),"<$1$4");naughty="alert|applet|audio|basefont|base|behavior|bgsound|blink|body|embed|expression|form|frameset|frame|head|html|ilayer|iframe|input|isindex|layer|link|meta|object|plaintext|style|script|textarea|title|video|xml|xss";u=u.replace(new RegExp("<(/*\\s*)("+naughty+")([^><]*)([><]*)","gi"),function(w,x,v,z,y){return"<"+x+v+z+y.replace(">",">").replace("<","<")});u=u.replace(/(alert|cmd|passthru|eval|exec|expression|system|fopen|fsockopen|file|file_get_contents|readfile|unlink)(\\s*)\((.*?)\)/gi,"$1$2($3)");for(var r in g){u=u.replace(r,g[r])}for(var r in m){u=u.replace(new RegExp(r,"i"),m[r])}if(p&&u!==t){throw"Image may contain XSS"}return u};function j(q){for(var p in o){q=q.replace(o[p],"")}return q}function f(){return"!*$^#(@*#&"}function d(p){return p.replace(">",">").replace("<","<").replace("\\","\\\\")}function n(p){out="";p.replace(/\\s*[a-z\-]+\\s*=\\s*(?:\042|\047)(?:[^\\1]*?)\\1/gi,function(q){$out+=q.replace(/\/\*.*?\*\//g,"")});return out}var e=h.Validator=function(){};e.prototype.check=function(p,q){this.str=String(p||"");this.msg=q;return this};e.prototype.validate=e.prototype.check;e.prototype.assert=e.prototype.check;e.prototype.error=function(p){throw p};e.prototype.isEmail=function(){if(!this.str.match(/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/)){this.error(this.msg||"Invalid email")}return this};e.prototype.isUrl=function(){if(!this.str.match(/^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?((?:(?:[-\w\d{1-3}]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|edu|co\.uk|ac\.uk|it|fr|tv|museum|asia|local|travel|[a-z]{2}))|((\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)(\.(\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)){3}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$ |\/.,*:;=]|%[a-f\d]{2})*)?$/)){this.error(this.msg||"Invalid URL")}return this};e.prototype.isIP=function(){if(!this.str.match(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)){this.error(this.msg||"Invalid IP")}return this};e.prototype.isAlpha=function(){if(!this.str.match(/^[a-zA-Z]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isAlphanumeric=function(){if(!this.str.match(/^[a-zA-Z0-9]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isNumeric=function(){if(!this.str.match(/^-?[0-9]+$/)){this.error(this.msg||"Invalid number")}return this};e.prototype.isLowercase=function(){if(!this.str.match(/^[a-z0-9]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isUppercase=function(){if(!this.str.match(/^[A-Z0-9]+$/)){this.error(this.msg||"Invalid characters")}return this};e.prototype.isInt=function(){if(!this.str.match(/^(?:-?(?:0|[1-9][0-9]*))$/)){this.error(this.msg||"Invalid integer")}return this};e.prototype.isDecimal=function(){if(!this.str.match(/^(?:-?(?:0|[1-9][0-9]*))?(?:\.[0-9]*)?$/)){this.error(this.msg||"Invalid decimal")}return this};e.prototype.isFloat=function(){return this.isDecimal()};e.prototype.notNull=function(){if(this.str===""){this.error(this.msg||"Invalid characters")}return this};e.prototype.isNull=function(){if(this.str!==""){this.error(this.msg||"Invalid characters")}return this};e.prototype.notEmpty=function(){if(this.str.match(/^[\s\t\r\n]*$/)){this.error(this.msg||"String is whitespace")}return this};e.prototype.equals=function(p){if(this.str!=p){this.error(this.msg||"Not equal")}return this};e.prototype.contains=function(p){if(this.str.indexOf(p)===-1){this.error(this.msg||"Invalid characters")}return this};e.prototype.notContains=function(p){if(this.str.indexOf(p)>=0){this.error(this.msg||"Invalid characters")}return this};e.prototype.regex=e.prototype.is=function(q,p){if(typeof q!=="function"){q=new RegExp(q,p)}if(!this.str.match(q)){this.error(this.msg||"Invalid characters")}return this};e.prototype.notRegex=e.prototype.not=function(q,p){if(typeof q!=="function"){q=new RegExp(q,p)}if(this.str.match(q)){this.error(this.msg||"Invalid characters")}return this};e.prototype.len=function(q,p){if(this.str.length<q){this.error(this.msg||"String is too small")}if(typeof p!==undefined&&this.str.length>p){this.error(this.msg||"String is too large")}return this};var c=h.Filter=function(){};var b="\\r\\n\\t\\s";c.prototype.modify=function(p){this.str=p};c.prototype.convert=c.prototype.sanitize=function(p){this.str=p;return this};c.prototype.xss=function(p){this.modify(xssClean(this.str,p));return this.str};c.prototype.entityDecode=function(){this.modify(a(this.str));return this.str};c.prototype.entityEncode=function(){this.modify(l(this.str));return this.str};c.prototype.ltrim=function(p){p=p||b;this.modify(this.str.replace(new RegExp("^["+p+"]+","g"),""));return this.str};c.prototype.rtrim=function(p){p=p||b;this.modify(this.str.replace(new RegExp("["+p+"]+$","g"),""));return this.str};c.prototype.trim=function(p){p=p||b;this.modify(this.str.replace(new RegExp("^["+p+"]+|["+p+"]+$","g"),""));return this.str};c.prototype.ifNull=function(p){if(!this.str||this.str===""){this.modify(p)}return this.str};c.prototype.toFloat=function(){this.modify(parseFloat(this.str));return this.str};c.prototype.toInt=function(){this.modify(parseInt(this.str));return this.str};c.prototype.toBoolean=function(){if(!this.str||this.str=="0"||this.str=="false"||this.str==""){this.modify(false)}else{this.modify(true)}return this.str};c.prototype.toBooleanStrict=function(){if(this.str=="1"||this.str=="true"){this.modify(true)}else{this.modify(false)}return this.str};h.sanitize=h.convert=function(q){var p=new h.Filter();return p.sanitize(q)};h.check=h.validate=h.assert=function(q,r){var p=new h.Validator();return p.check(q,r)}})(this); |
@@ -544,3 +544,3 @@ /*! | ||
Validator.prototype.isUrl = function() { | ||
if (!this.str.match(/^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?((?:(?:[-\w\d{1-3}]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|edu|co\.uk|ac\.uk|it|fr|tv|museum|asia|local|travel|[a-z]{2})?)|((\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)(\.(\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)){3}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$ |\/.,*:;=]|%[a-f\d]{2})*)?$/)) { | ||
if (!this.str.match(/^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?((?:(?:[-\w\d{1-3}]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|edu|co\.uk|ac\.uk|it|fr|tv|museum|asia|local|travel|[a-z]{2}))|((\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)(\.(\b25[0-5]\b|\b[2][0-4][0-9]\b|\b[0-1]?[0-9]?[0-9]\b)){3}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$ |\/.,*:;=]|%[a-f\d]{2})*)?$/)) { | ||
this.error(this.msg || 'Invalid URL'); | ||
@@ -547,0 +547,0 @@ } |
90523
1801