By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,900 Members | 1,078 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,900 IT Pros & Developers. It's quick & easy.

Checking for a valid filename using Reg expressions - HELP!

P: n/a
Please can someone help me, I am trying to write a Regular Expression
check for a valid (Windows) filename (cant believe I couldnt find one
on the net already?!?!?!). Anyway, here is what I have but it doesnt
fully work - e.g. it allows the use of quotes, and the ampersand in
some positions and I just cant correct it??! Sorry for being a dull
newbie.

TIA.

-------------------------------------------------

RegExp = /^["']?(.)?([^\|\&\<\>\;\*\?\\\\\/:]+\.\w+)["']?$/

Jul 23 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
pa************@gmail.com wrote:
Please can someone help me, I am trying to write a Regular Expression
check for a valid (Windows) filename (cant believe I couldnt find one
on the net already?!?!?!). Anyway, here is what I have but it doesnt
fully work - e.g. it allows the use of quotes, and the ampersand in
some positions and I just cant correct it??! Sorry for being a dull
newbie.

TIA.

-------------------------------------------------

RegExp = /^["']?(.)?([^\|\&\<\>\;\*\?\\\\\/:]+\.\w+)["']?$/


File name or file path?
Mick
Jul 23 '05 #2

P: n/a
file name - path not required...

Jul 23 '05 #3

P: n/a
pa************@gmail.com wrote:
file name - path not required...

What are the rules for a Windows file name?
Mick
Jul 23 '05 #4

P: n/a
JRS: In article <11**********************@f14g2000cwb.googlegroups .com>
, dated Thu, 24 Feb 2005 11:01:45, seen in news:comp.lang.javascript,
pa************@gmail.com posted :
Please can someone help me, I am trying to write a Regular Expression
check for a valid (Windows) filename (cant believe I couldnt find one
on the net already?!?!?!). Anyway, here is what I have but it doesnt
fully work - e.g. it allows the use of quotes, and the ampersand in
some positions and I just cant correct it??! Sorry for being a dull
newbie. RegExp = /^["']?(.)?([^\|\&\<\>\;\*\?\\\\\/:]+\.\w+)["']?$/


For a start, the close quote must match the open quote. But only " can
be used for that.

RegExp = /^("?)(.)?([^\|\&\<\>\;\*\?\\\\\/:]+\.\w+)\1$/

I don't see why you allow a possible arbitrary character after the first
optional quote.

You appear to disallow the colon, meaning that you cannot specify a
drive, and you cannot specify a path. ISTM that in general the drive
and path should be allowed; include ([a-zA-Z]:)? and allow multiples
of what you have above with \ in between - which may be impossible.

You seem to require an extension; I'm not sure of that. In the
extension, you allow only word characters; an extension can, ISTM,
contain all the characters that the rest can - I frequently use $$$, for
example, and sometimes .

In your list of barred characters, I'd put colon before slash.
Javascript won't mind, but it will be a little easier to read.
If these are meant to be names of existing files, why bother? If the
file can be found, the name is OK; otherwise, it is wrong. If they are
meant to be names of new files, do you need to allow all possibilities?
you might list instead those that are needed, which has the benefit of
rejecting those of value above 126.
You should have given a written description of the intended criteria;
then it would have been easier to check your intent and your
implementation thereof.

--
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.
Jul 23 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.