I came across a problem in Internet Explorer (it wasn't a problem with Firefox) when I was trying to compare two strings. To me, one string looked to have an extra space in the front. No problem, I'll just call the jQuery trim function . Well, that didn't work. So I used charCodeAt and found it was ASCII character 160. I looked up char code 160 and saw that it is a "Non-breaking space". You would think that a "space" character would be trimmed. I looked at the jQuery code that does the trimming and the grep pattern uses
\s. So, evidently you can't use
\s to catch the "Non-breaking space" in IE. I wonder why no one else has seen this. I wrote up a test page to illustrate this.
To create the non-breaking space, you can use
String.fromCharCode(160) or the Unicode representation "\u00A0". " " doesn't seem to work when using regular expressions, although it behaves the same when printed.
|Browser||Evaluates character 160 as white-space|
|Firefox 3, 3.5||Yes|
|Internet Explorer 7, 8||No|