Created
March 23, 2010 01:14
-
-
Save dgmike/340747 to your computer and use it in GitHub Desktop.
Top 10 scripts para auxiliar seu framework favorito
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Converte datas no formato Y-m-d para d/m/Y | |
*/ | |
String.prototype.date2human = function() { | |
return this.split('-').reverse().join('/'); | |
} | |
/** | |
* Converte datas no formato d/m/Y para Y-m-d | |
*/ | |
String.prototype.date2nerd = function () { | |
return this.split('/').reverse().join('-'); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// formatDate : | |
// a PHP date like function, for formatting date strings | |
// authored by Svend Tofte <www.svendtofte.com> | |
// the code is in the public domain | |
// | |
// see http://www.svendtofte.com/javascript/javascript-date-string-formatting/ | |
// and http://www.php.net/date | |
// | |
// thanks to | |
// - Daniel Berlin <mail@daniel-berlin.de>, | |
// major overhaul and improvements | |
// - Matt Bannon, | |
// correcting some stupid bugs in my days-in-the-months list! | |
// - levon ghazaryan. pointing out an error in z switch. | |
// - Andy Pemberton. pointing out error in c switch | |
// | |
// input : format string | |
// time : epoch time (seconds, and optional) | |
// | |
// if time is not passed, formatting is based on | |
// the current "this" date object's set time. | |
// | |
// supported switches are | |
// a, A, B, c, d, D, F, g, G, h, H, i, I (uppercase i), j, l (lowecase L), | |
// L, m, M, n, N, O, P, r, s, S, t, U, w, W, y, Y, z, Z | |
// | |
// unsupported (as compared to date in PHP 5.1.3) | |
// T, e, o | |
Date.prototype.formatDate = function (input,time) { | |
var daysLong = ["Sunday", "Monday", "Tuesday", "Wednesday", | |
"Thursday", "Friday", "Saturday"]; | |
var daysShort = ["Sun", "Mon", "Tue", "Wed", | |
"Thu", "Fri", "Sat"]; | |
var monthsShort = ["Jan", "Feb", "Mar", "Apr", | |
"May", "Jun", "Jul", "Aug", "Sep", | |
"Oct", "Nov", "Dec"]; | |
var monthsLong = ["January", "February", "March", "April", | |
"May", "June", "July", "August", "September", | |
"October", "November", "December"]; | |
var switches = { // switches object | |
a : function () { | |
// Lowercase Ante meridiem and Post meridiem | |
return date.getHours() > 11? "pm" : "am"; | |
}, | |
A : function () { | |
// Uppercase Ante meridiem and Post meridiem | |
return (this.a().toUpperCase ()); | |
}, | |
B : function (){ | |
// Swatch internet time. code simply grabbed from ppk, | |
// since I was feeling lazy: | |
// http://www.xs4all.nl/~ppk/js/beat.html | |
var off = (date.getTimezoneOffset() + 60)*60; | |
var theSeconds = (date.getHours() * 3600) + | |
(date.getMinutes() * 60) + | |
date.getSeconds() + off; | |
var beat = Math.floor(theSeconds/86.4); | |
if (beat > 1000) beat -= 1000; | |
if (beat < 0) beat += 1000; | |
if ((String(beat)).length == 1) beat = "00"+beat; | |
if ((String(beat)).length == 2) beat = "0"+beat; | |
return beat; | |
}, | |
c : function () { | |
// ISO 8601 date (e.g.: "2004-02-12T15:19:21+00:00"), as per | |
// http://www.cl.cam.ac.uk/~mgk25/iso-time.html | |
return (this.Y() + "-" + this.m() + "-" + this.d() + "T" + | |
this.H() + ":" + this.i() + ":" + this.s() + this.P()); | |
}, | |
d : function () { | |
// Day of the month, 2 digits with leading zeros | |
var j = String(this.j()); | |
return (j.length == 1 ? "0"+j : j); | |
}, | |
D : function () { | |
// A textual representation of a day, three letters | |
return daysShort[date.getDay()]; | |
}, | |
F : function () { | |
// A full textual representation of a month | |
return monthsLong[date.getMonth()]; | |
}, | |
g : function () { | |
// 12-hour format of an hour without leading zeros, 1 through 12! | |
if (date.getHours() == 0) { | |
return 12; | |
} else { | |
return date.getHours()>12 ? date.getHours()-12 : date.getHours(); | |
} | |
}, | |
G : function () { | |
// 24-hour format of an hour without leading zeros | |
return date.getHours(); | |
}, | |
h : function () { | |
// 12-hour format of an hour with leading zeros | |
var g = String(this.g()); | |
return (g.length == 1 ? "0"+g : g); | |
}, | |
H : function () { | |
// 24-hour format of an hour with leading zeros | |
var G = String(this.G()); | |
return (G.length == 1 ? "0"+G : G); | |
}, | |
i : function () { | |
// Minutes with leading zeros | |
var min = String (date.getMinutes ()); | |
return (min.length == 1 ? "0" + min : min); | |
}, | |
I : function () { | |
// Whether or not the date is in daylight saving time (DST) | |
// note that this has no bearing in actual DST mechanics, | |
// and is just a pure guess. buyer beware. | |
var noDST = new Date ("January 1 " + this.Y() + " 00:00:00"); | |
return (noDST.getTimezoneOffset () == | |
date.getTimezoneOffset () ? 0 : 1); | |
}, | |
j : function () { | |
// Day of the month without leading zeros | |
return date.getDate(); | |
}, | |
l : function () { | |
// A full textual representation of the day of the week | |
return daysLong[date.getDay()]; | |
}, | |
L : function () { | |
// leap year or not. 1 if leap year, 0 if not. | |
// the logic should match iso's 8601 standard. | |
// http://www.uic.edu/depts/accc/software/isodates/leapyear.html | |
var Y = this.Y(); | |
if ( | |
(Y % 4 == 0 && Y % 100 != 0) || | |
(Y % 4 == 0 && Y % 100 == 0 && Y % 400 == 0) | |
) { | |
return 1; | |
} else { | |
return 0; | |
} | |
}, | |
m : function () { | |
// Numeric representation of a month, with leading zeros | |
var n = String(this.n()); | |
return (n.length == 1 ? "0"+n : n); | |
}, | |
M : function () { | |
// A short textual representation of a month, three letters | |
return monthsShort[date.getMonth()]; | |
}, | |
n : function () { | |
// Numeric representation of a month, without leading zeros | |
return date.getMonth()+1; | |
}, | |
N : function () { | |
// ISO-8601 numeric representation of the day of the week | |
var w = this.w(); | |
return (w == 0 ? 7 : w); | |
}, | |
O : function () { | |
// Difference to Greenwich time (GMT) in hours | |
var os = Math.abs(date.getTimezoneOffset()); | |
var h = String(Math.floor(os/60)); | |
var m = String(os%60); | |
h.length == 1? h = "0"+h:1; | |
m.length == 1? m = "0"+m:1; | |
return date.getTimezoneOffset() < 0 ? "+"+h+m : "-"+h+m; | |
}, | |
P : function () { | |
// Difference to GMT, with colon between hours and minutes | |
var O = this.O(); | |
return (O.substr(0, 3) + ":" + O.substr(3, 2)); | |
}, | |
r : function () { | |
// RFC 822 formatted date | |
var r; // result | |
// Thu , 21 Dec 2000 | |
r = this.D() + ", " + this.d() + " " + this.M() + " " + this.Y() + | |
// 16 : 01 : 07 0200 | |
" " + this.H() + ":" + this.i() + ":" + this.s() + " " + this.O(); | |
return r; | |
}, | |
s : function () { | |
// Seconds, with leading zeros | |
var sec = String (date.getSeconds ()); | |
return (sec.length == 1 ? "0" + sec : sec); | |
}, | |
S : function () { | |
// English ordinal suffix for the day of the month, 2 characters | |
switch (date.getDate ()) { | |
case 1: return ("st"); | |
case 2: return ("nd"); | |
case 3: return ("rd"); | |
case 21: return ("st"); | |
case 22: return ("nd"); | |
case 23: return ("rd"); | |
case 31: return ("st"); | |
default: return ("th"); | |
} | |
}, | |
t : function () { | |
// thanks to Matt Bannon for some much needed code-fixes here! | |
var daysinmonths = [null,31,28,31,30,31,30,31,31,30,31,30,31]; | |
if (this.L()==1 && this.n()==2) return 29; // ~leap day | |
return daysinmonths[this.n()]; | |
}, | |
U : function () { | |
// Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | |
return Math.round(date.getTime()/1000); | |
}, | |
w : function () { | |
// Numeric representation of the day of the week | |
return date.getDay(); | |
}, | |
W : function () { | |
// Weeknumber, as per ISO specification: | |
// http://www.cl.cam.ac.uk/~mgk25/iso-time.html | |
var DoW = this.N (); | |
var DoY = this.z (); | |
// If the day is 3 days before New Year's Eve and is Thursday or earlier, | |
// it's week 1 of next year. | |
var daysToNY = 364 + this.L () - DoY; | |
if (daysToNY <= 2 && DoW <= (3 - daysToNY)) { | |
return 1; | |
} | |
// If the day is within 3 days after New Year's Eve and is Friday or later, | |
// it belongs to the old year. | |
if (DoY <= 2 && DoW >= 5) { | |
return new Date (this.Y () - 1, 11, 31).formatDate ("W"); | |
} | |
var nyDoW = new Date (this.Y (), 0, 1).getDay (); | |
nyDoW = nyDoW != 0 ? nyDoW - 1 : 6; | |
if (nyDoW <= 3) { // First day of the year is a Thursday or earlier | |
return (1 + Math.floor ((DoY + nyDoW) / 7)); | |
} else { // First day of the year is a Friday or later | |
return (1 + Math.floor ((DoY - (7 - nyDoW)) / 7)); | |
} | |
}, | |
y : function () { | |
// A two-digit representation of a year | |
var y = String(this.Y()); | |
return y.substring(y.length-2,y.length); | |
}, | |
Y : function () { | |
// A full numeric representation of a year, 4 digits | |
// we first check, if getFullYear is supported. if it | |
// is, we just use that. ppks code is nice, but wont | |
// work with dates outside 1900-2038, or something like that | |
if (date.getFullYear) { | |
var newDate = new Date("January 1 2001 00:00:00 +0000"); | |
var x = newDate .getFullYear(); | |
if (x == 2001) { | |
// i trust the method now | |
return date.getFullYear(); | |
} | |
} | |
// else, do this: | |
// codes thanks to ppk: | |
// http://www.xs4all.nl/~ppk/js/introdate.html | |
var x = date.getYear(); | |
var y = x % 100; | |
y += (y < 38) ? 2000 : 1900; | |
return y; | |
}, | |
z : function () { | |
// The day of the year, zero indexed! 0 through 366 | |
var s = "January 1 " + this.Y() + " 00:00:00 GMT" + this.O(); | |
var t = new Date(s); | |
var diff = date.getTime() - t.getTime(); | |
return Math.floor(diff/1000/60/60/24); | |
}, | |
Z : function () { | |
// Timezone offset in seconds | |
return (date.getTimezoneOffset () * -60); | |
} | |
} | |
function getSwitch(str) { | |
if (switches[str] != undefined) { | |
return switches[str](); | |
} else { | |
return str; | |
} | |
} | |
var date; | |
if (time) { | |
var date = new Date (time); | |
} else { | |
var date = this; | |
} | |
var formatString = input.split(""); | |
var i = 0; | |
while (i < formatString.length) { | |
if (formatString[i] == "%") { | |
// this is our way of allowing users to escape stuff | |
formatString.splice(i,1); | |
} else { | |
formatString[i] = getSwitch(formatString[i]); | |
} | |
i++; | |
} | |
return formatString.join(""); | |
} | |
// Some (not all) predefined format strings from PHP 5.1.1, which | |
// offer standard date representations. | |
// See: http://www.php.net/manual/en/ref.datetime.php#datetime.constants | |
// | |
// Atom "2005-08-15T15:52:01+00:00" | |
Date.DATE_ATOM = "Y-m-d%TH:i:sP"; | |
// ISO-8601 "2005-08-15T15:52:01+0000" | |
Date.DATE_ISO8601 = "Y-m-d%TH:i:sO"; | |
// RFC 2822 "Mon, 15 Aug 2005 15:52:01 +0000" | |
Date.DATE_RFC2822 = "D, d M Y H:i:s O"; | |
// W3C "2005-08-15 15:52:01+00:00" | |
Date.DATE_W3C = "Y-m-d%TH:i:sP"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
String.prototype.htmlEntities = function () { | |
return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); | |
}; | |
String.prototype.stripTags = function () { | |
return this.replace(/<([^>]+)>/g,''); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Implementa o metodo in_array do PHP no JavaScript | |
* [1,2,3,4].inArray(3) === True | |
*/ | |
Array.prototype.inArray = function (value) { | |
var i; | |
for (i=0; i < this.length; i++) { | |
if (this[i] === value) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/* | |
* Pega o ultimo elemento do array | |
* | |
* [1,2,3,4].last() === 4 | |
*/ | |
Array.prototype.last = function(){ | |
return this.reverse()[0]; | |
} | |
/** | |
* Verify if Object is an Array | |
* | |
* {1:2}.isArray() === False | |
* [1,2].isArray() === True | |
*/ | |
Object.prototype.isArray = function() { | |
return this.constructor == Array; | |
} | |
/** | |
* Sort numbers of array. Usage: | |
* | |
* var tmp = [5,9,12,18,56,1,10,42,30,7,97,53,33,35,27]; | |
* tmp=tmp.sortNum(); // returns 1,5,7,9,10,12,18,27,30,33,35,42,53,56,97 | |
*/ | |
Array.prototype.sortNum = function() { | |
return this.sort( function (a,b) { return a-b; } ); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* MD5 (Message-Digest Algorithm) | |
* http://www.webtoolkit.info/ | |
* | |
**/ | |
var MD5 = function (string) { | |
function RotateLeft(lValue, iShiftBits) { | |
return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); | |
} | |
function AddUnsigned(lX,lY) { | |
var lX4,lY4,lX8,lY8,lResult; | |
lX8 = (lX & 0x80000000); | |
lY8 = (lY & 0x80000000); | |
lX4 = (lX & 0x40000000); | |
lY4 = (lY & 0x40000000); | |
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); | |
if (lX4 & lY4) { | |
return (lResult ^ 0x80000000 ^ lX8 ^ lY8); | |
} | |
if (lX4 | lY4) { | |
if (lResult & 0x40000000) { | |
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); | |
} else { | |
return (lResult ^ 0x40000000 ^ lX8 ^ lY8); | |
} | |
} else { | |
return (lResult ^ lX8 ^ lY8); | |
} | |
} | |
function F(x,y,z) { return (x & y) | ((~x) & z); } | |
function G(x,y,z) { return (x & z) | (y & (~z)); } | |
function H(x,y,z) { return (x ^ y ^ z); } | |
function I(x,y,z) { return (y ^ (x | (~z))); } | |
function FF(a,b,c,d,x,s,ac) { | |
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); | |
return AddUnsigned(RotateLeft(a, s), b); | |
}; | |
function GG(a,b,c,d,x,s,ac) { | |
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); | |
return AddUnsigned(RotateLeft(a, s), b); | |
}; | |
function HH(a,b,c,d,x,s,ac) { | |
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); | |
return AddUnsigned(RotateLeft(a, s), b); | |
}; | |
function II(a,b,c,d,x,s,ac) { | |
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); | |
return AddUnsigned(RotateLeft(a, s), b); | |
}; | |
function ConvertToWordArray(string) { | |
var lWordCount; | |
var lMessageLength = string.length; | |
var lNumberOfWords_temp1=lMessageLength + 8; | |
var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; | |
var lNumberOfWords = (lNumberOfWords_temp2+1)*16; | |
var lWordArray=Array(lNumberOfWords-1); | |
var lBytePosition = 0; | |
var lByteCount = 0; | |
while ( lByteCount < lMessageLength ) { | |
lWordCount = (lByteCount-(lByteCount % 4))/4; | |
lBytePosition = (lByteCount % 4)*8; | |
lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition)); | |
lByteCount++; | |
} | |
lWordCount = (lByteCount-(lByteCount % 4))/4; | |
lBytePosition = (lByteCount % 4)*8; | |
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition); | |
lWordArray[lNumberOfWords-2] = lMessageLength<<3; | |
lWordArray[lNumberOfWords-1] = lMessageLength>>>29; | |
return lWordArray; | |
}; | |
function WordToHex(lValue) { | |
var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; | |
for (lCount = 0;lCount<=3;lCount++) { | |
lByte = (lValue>>>(lCount*8)) & 255; | |
WordToHexValue_temp = "0" + lByte.toString(16); | |
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); | |
} | |
return WordToHexValue; | |
}; | |
function Utf8Encode(string) { | |
string = string.replace(/\r\n/g,"\n"); | |
var utftext = ""; | |
for (var n = 0; n < string.length; n++) { | |
var c = string.charCodeAt(n); | |
if (c < 128) { | |
utftext += String.fromCharCode(c); | |
} | |
else if((c > 127) && (c < 2048)) { | |
utftext += String.fromCharCode((c >> 6) | 192); | |
utftext += String.fromCharCode((c & 63) | 128); | |
} | |
else { | |
utftext += String.fromCharCode((c >> 12) | 224); | |
utftext += String.fromCharCode(((c >> 6) & 63) | 128); | |
utftext += String.fromCharCode((c & 63) | 128); | |
} | |
} | |
return utftext; | |
}; | |
var x=Array(); | |
var k,AA,BB,CC,DD,a,b,c,d; | |
var S11=7, S12=12, S13=17, S14=22; | |
var S21=5, S22=9 , S23=14, S24=20; | |
var S31=4, S32=11, S33=16, S34=23; | |
var S41=6, S42=10, S43=15, S44=21; | |
string = Utf8Encode(string); | |
x = ConvertToWordArray(string); | |
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; | |
for (k=0;k<x.length;k+=16) { | |
AA=a; BB=b; CC=c; DD=d; | |
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478); | |
d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756); | |
c=FF(c,d,a,b,x[k+2], S13,0x242070DB); | |
b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE); | |
a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF); | |
d=FF(d,a,b,c,x[k+5], S12,0x4787C62A); | |
c=FF(c,d,a,b,x[k+6], S13,0xA8304613); | |
b=FF(b,c,d,a,x[k+7], S14,0xFD469501); | |
a=FF(a,b,c,d,x[k+8], S11,0x698098D8); | |
d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF); | |
c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1); | |
b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE); | |
a=FF(a,b,c,d,x[k+12],S11,0x6B901122); | |
d=FF(d,a,b,c,x[k+13],S12,0xFD987193); | |
c=FF(c,d,a,b,x[k+14],S13,0xA679438E); | |
b=FF(b,c,d,a,x[k+15],S14,0x49B40821); | |
a=GG(a,b,c,d,x[k+1], S21,0xF61E2562); | |
d=GG(d,a,b,c,x[k+6], S22,0xC040B340); | |
c=GG(c,d,a,b,x[k+11],S23,0x265E5A51); | |
b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA); | |
a=GG(a,b,c,d,x[k+5], S21,0xD62F105D); | |
d=GG(d,a,b,c,x[k+10],S22,0x2441453); | |
c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681); | |
b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8); | |
a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6); | |
d=GG(d,a,b,c,x[k+14],S22,0xC33707D6); | |
c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87); | |
b=GG(b,c,d,a,x[k+8], S24,0x455A14ED); | |
a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905); | |
d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8); | |
c=GG(c,d,a,b,x[k+7], S23,0x676F02D9); | |
b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A); | |
a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942); | |
d=HH(d,a,b,c,x[k+8], S32,0x8771F681); | |
c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122); | |
b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C); | |
a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44); | |
d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9); | |
c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60); | |
b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70); | |
a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6); | |
d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA); | |
c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085); | |
b=HH(b,c,d,a,x[k+6], S34,0x4881D05); | |
a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039); | |
d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5); | |
c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8); | |
b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665); | |
a=II(a,b,c,d,x[k+0], S41,0xF4292244); | |
d=II(d,a,b,c,x[k+7], S42,0x432AFF97); | |
c=II(c,d,a,b,x[k+14],S43,0xAB9423A7); | |
b=II(b,c,d,a,x[k+5], S44,0xFC93A039); | |
a=II(a,b,c,d,x[k+12],S41,0x655B59C3); | |
d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92); | |
c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D); | |
b=II(b,c,d,a,x[k+1], S44,0x85845DD1); | |
a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F); | |
d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0); | |
c=II(c,d,a,b,x[k+6], S43,0xA3014314); | |
b=II(b,c,d,a,x[k+13],S44,0x4E0811A1); | |
a=II(a,b,c,d,x[k+4], S41,0xF7537E82); | |
d=II(d,a,b,c,x[k+11],S42,0xBD3AF235); | |
c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB); | |
b=II(b,c,d,a,x[k+9], S44,0xEB86D391); | |
a=AddUnsigned(a,AA); | |
b=AddUnsigned(b,BB); | |
c=AddUnsigned(c,CC); | |
d=AddUnsigned(d,DD); | |
} | |
var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d); | |
return temp.toLowerCase(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Converte os numeros (inteiro, float, string) para 0.00 (float) | |
* | |
* '12,30'.toNerd() === 12.3 | |
* (25).toNerd() === 25.0 | |
*/ | |
function toNerd(str) { | |
var s=String(str).replace(/[^\d\.\,-]/g, '').replace(/,/,'.') | |
if (!s) s='0' | |
s=parseFloat(s) | |
return s | |
} | |
String.prototype.toNerd = function(){return toNerd(this)} | |
Number.prototype.toNerd = function(){return toNerd(this)} | |
/** | |
* Converte os numeros (inteiro, float, string) para 0,00 | |
* | |
* '12,30'.toHuman() === '12,30' | |
* (25).toHuman('R$ ') === 'R$ 25,00' | |
* (3.4).toHuman('', '%') === '3,40%' | |
*/ | |
function toHuman(str, prefix, sufix) { | |
var s=String(str).replace(/[^\d\.\,-]/g, '').replace(/,/,'.') | |
var s=parseFloat(s).toFixed(2) | |
s=s.replace('.',',') | |
if (typeof(prefix)=='string') s=prefix+s; | |
if (typeof(sufix)=='string') s+=sufix; | |
return s | |
} | |
String.prototype.toHuman = function(prefix, sufix) { return toHuman(this, prefix, sufix) } | |
Number.prototype.toHuman = function(prefix, sufix) { return toHuman(this, prefix, sufix) } | |
/** | |
* Calcula a porcentagem dos valores | |
*/ | |
Number.prototype.porcentagem = function(porc) { return calculaPorcentagem(this, porc); } | |
String.prototype.porcentagem = function(porc) { return calculaPorcentagem(this.toNerd(), porc); } | |
function calculaPorcentagem(valor, porc){ | |
return (valor*porc)/100; | |
} | |
/** | |
* Faz o contrário do porcentagem. Pegue a porcentagem, passe o valor e descubra quanto é. | |
*/ | |
Number.prototype.porc2value = function(total) { return porc2value(this, total); } | |
String.prototype.porc2value = function(total) { return porc2value(this.toNerd(), total); } | |
function porc2value(porc, total) { | |
return (porc/100)*total; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Removes the espaces of begin and end of string | |
*/ | |
String.prototype.trim = function() { | |
return this.replace(/^\s+|\s+$/g,""); | |
} | |
String.prototype.ltrim = function() { | |
return this.replace(/^\s+/g,""); | |
} | |
String.prototype.rtrim = function() { | |
return this.replace(/\s+$/g,""); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Extrai os argumentos de uma URL da query string | |
* | |
* ex: | |
* "dgmike.com.br?search=camisa+de+venus&page=5" | |
* retorno: | |
* { "search": "camisa+de+venus", "page": "5"} | |
*/ | |
String.prototype.extractArgs = function (){ | |
var link = this | |
var spl = link.split("?") | |
var param = spl[1].split("&") | |
for(var i=0;i<param.length;i++){ | |
param[i]=param[i].split('=') | |
param[i][0]=unescape(param[i][0]) | |
param[i][1]=unescape(param[i][1]) | |
} | |
d = {}; | |
$.each (param, function(){ d[this[0]]=this[1]; }); | |
return d | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment