[thelist] Javascript regular expression question
Judah McAuley
judah at wiredotter.com
Thu Apr 19 15:30:59 CDT 2007
Lee Kowalkowski wrote:
> Interesting, you're allowing 0A and 0D (New Line and Carriage Return)
> and all ASCII characters from space to tilde.
>
> You could do this to strip out the rest: str = str.replace(/[^\n\r -~]/g, "");
>
> Your expressions look sound as they are, but they tend to when out of
> context, how are you trying to use them?
This particular part of the application is a front end that produces an
xml document, so the character set is actually UTF-8 and I'm allowing
non-ascii characters, so the "strip out the rest" won't quite work,
alas. A good idea though. Basically, I'm trying to strip out things that
will cause problems when inserted into a CDATA block. As it turns out,
control characters will wreak havoc with xml parsers even inside a CDATA
block.
>> The regex tester at regular-expressions.info tells me that
>> /[\x00-\x09]/g doesn't match my control character that I pasted in, but
>> it also doesn't tell me my regex is wrong either.
>
> I'm dubious, what flavour of regEx does it test? If I enter the
> following into a browser address bar it works fine, so the syntax is
> OK as far as I can tell:
>
> javascript:alert(/[\x20-\x21]/.test(" "))
Hmmm...might be a problem with pasting the control character then. I was
trying to paste in x03 This character actually ended up in an error on
this app which is why I'm testing it. I still don't know how the end
user got it in there, but there it is.
I'll try putting the regexes in place and see how it goes.
Thanks,
Judah
More information about the thelist
mailing list