...

View Full Version : indexOf



ellisd5
02-02-2004, 03:42 PM
I have written a bit of code that is checking the file extension.

I do a substring from the indexOf(".") but of course that is grabbing the first dot.

Is there a function grans the last occurense of a dot or a Regular expression that can retrieve the file extension?

TIA Dale

liorean
02-02-2004, 03:56 PM
This regex: /\.([^.]+)$/ will match a fullstop, followed by capturing one or more characters that are not fullstops, followed by end of string. The result of executing /\.([^.]+)$/.exec([string FileName]) will result in a regex array [entirematch, justthefileextention]. entirematch will of course contain the fullstop while justthefileextention will not, but that's the only difference.

Jeff Mott
02-02-2004, 04:13 PM
Is there a function grans the last occurense of a dotlastIndexOf (http://devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/string.html#1197005)

Almost certainly more efficient than a regexp would be (despite how little it would matter.
var fn = "filename.ext";
var ext = fn.substr( fn.lastIndexOf(".") + 1 );

ellisd5
02-02-2004, 04:16 PM
Ok thanks for that.
I noticed though, if there are no "." then there is no array returned. So I guess I need to check that.

How can I include characters that I dont want to allow, in particular at the moment, ""

?

liorean
02-02-2004, 04:22 PM
/\.([^.]+)$/

Jeff Mott is probably right about the lastIndex thing, though. It is more effective than a regex, except for possibly a single character regex matching only fullstop, which you could use with the split method of a string. (Regex are compiled before command execution, so they are more effective at fixwidth searching than the string comparisons are.)

ellisd5
02-02-2004, 04:34 PM
Ok, I think Im gonna use a bit of both.

Im getting the extension part using lastindexOf

I want to do a check that the whole path doesn't contain a "" or a "@"

How can I write a regEx to do this, I little explanation of what each bit of the regEx does would be really useful

Thanks
Dale

liorean
02-02-2004, 04:41 PM
In my sig, there are two links to an article about regex in JavaScript that I wrote three years ago. It is, if I may say if myself, the best regex reference/tutorial you will find for JavaScript. It may be of service for you, so do read it. If you still need help, you can find me here, though.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum