Implement String.prototype.toLowerCase()
Javascript 70 68

Building from @grc's answer:

for(s=i='';c=this[i++];s+=(parseInt(c,36)||c).toString(36));return s


Convert character to integer then back (works since Number.toString(36) will always be lowercase)

Test case: http://jsfiddle.net/Vh2TW/2/

input:

console.log('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~`-=_+{}[]:;\\\'\"&lt;&gt;,.?/!@#$%^&amp;*()abcdefghijklmnopqrstuvwxyz'.toLowerCase())


output:

abcdefghijklmnopqrstuvwxyz1234567890~`-=_+{}[]:;\'"&lt;&gt;,.?/!@#$%^&amp;*()abcdefghijklmnopqrstuvwxyz 


Update: -2 characters, thanks @copy