Connecting Tech Pros Worldwide Forums | Help | Site Map

Regular Expressions

Kalvin
Guest
 
Posts: n/a
#1: Jul 23 '05
Please help me understand regular expressions. I have read different
articles about them, they all seem to explain it differently.

1.
On one site it says to do it like this:
return ( /^[0-9]+$/.test(num) )

2.
On another it says:
var regExp = new RegExp(/^[a-zA-Z0-9]+$/)
return ( regExp.test(str) )

3.
I see others that put the expression into a string and then test it.

I have tried both 1 and 2, and on some clients 2 will work, but on
others it always returns false no matter what. What's the difference
between them? How do I know what is going to work on all clients?

Is there a way to find out exactly what version of Javascript is being
used on the client. Not from code, but just by looking somewhere on
the machine. A lot of what I am trying to write this for is websites
to be used internally.

I appreciate your time.
Kalvin


SimonFx
Guest
 
Posts: n/a
#2: Jul 23 '05

re: Regular Expressions


Damn! I just started to rely on Regular Expressions ... what clients are
causing the problem? I don't actually use parentheses like you do, and I
think you are supposed to use quotes when doing the new RegExp thing.

1.
return /^[0-9]+$/.test(num)
2.
var regExp = new RegExp ("^[a-zA-Z0-9]+$")
return regExp.test(str)

Kalvin wrote:[color=blue]
> 1.
> return ( /^[0-9]+$/.test(num) )
> 2.
> var regExp = new RegExp(/^[a-zA-Z0-9]+$/)
> return ( regExp.test(str) )[/color]
[color=blue]
> I have tried both 1 and 2, and on some clients 2 will work, but on
> others it always returns false no matter what. What's the difference
> between them? How do I know what is going to work on all clients?[/color]
Matthew Lock
Guest
 
Posts: n/a
#3: Jul 23 '05

re: Regular Expressions


Apart from really old browsers the only difference I am aware of is
that IE 5.0 doesn't support non-capturing parenthesis eg: (?:banana)
There may be more differences but I haven't come across any myself.

Matthew Lock
Guest
 
Posts: n/a
#4: Jul 23 '05

re: Regular Expressions


Apart from really old browsers the only difference I am aware of is
that IE 5.0 doesn't support non-capturing parenthesis eg: (?:banana)
There may be more differences but I haven't come across any myself.

Kalvin
Guest
 
Posts: n/a
#5: Jul 23 '05

re: Regular Expressions


We use IE 6 and Netscape. In our company we use an image to rebuild
machines, and so far have only come across one that example 2 just will
not work. I used example 1 and it worked fine, so far. I really like
regular expressions, and hope I don't have other problems later.

Thank you everyone for your replies.

BTW, is there a way to discover what version of javascript is on a
machine?

Kalvin

sunami
Guest
 
Posts: n/a
#6: Jul 23 '05

re: Regular Expressions


Both ways of using the regulare expression are the same ... the first
method is more consise and the RegExp object is created on-the-fly.
The 2nd method is using a pre-defined RegExp object.

If you're getting different results from different clients, it's
probably because of the differences in the JavaScript engines. You can
find out which version buy the client's version (like Firefox is
implementing JavaScript 2 ... just an example .. i'm not sure which
version it's implementing).

a good resource on javascript:

http://www.devguru.com/Technologies/...ipt_index.html

Mick White
Guest
 
Posts: n/a
#7: Jul 23 '05

re: Regular Expressions


Kalvin wrote:
[snip]

[color=blue]
> var regExp = new RegExp(/^[a-zA-Z0-9]+$/)
> return ( regExp.test(str) )[/color]

return new RegExp("^[a-z0-9]+$","i").test(str);

Is the preferred construct, I believe.
Mick

[snip]


Dr John Stockton
Guest
 
Posts: n/a
#8: Jul 23 '05

re: Regular Expressions


JRS: In article <1107271535.327230.147310@z14g2000cwz.googlegroups .com>
, dated Tue, 1 Feb 2005 07:25:35, seen in news:comp.lang.javascript,
Kalvin <ktuel@streck.com> posted :[color=blue]
>
>BTW, is there a way to discover what version of javascript is on a
>machine?[/color]

<URL:http://www.merlyn.demon.co.uk/js-other.htm>
<URL:http://www.merlyn.demon.co.uk/js-tests.htm>

But such tests do not necessarily work on all versions.

Read newsgroup FAQ 4.26 and its Notes.

--
© John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ©
<URL:http://www.jibbering.com/faq/> JL/RC: FAQ of news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
Closed Thread