Checking for a valid filename using Reg expressions - HELP!

Discussion in 'Javascript' started by papillonimages@gmail.com, Feb 24, 2005.

  1. Guest

    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+)["']?$/
     
    , Feb 24, 2005
    #1
    1. Advertising

  2. Mick White Guest

    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
     
    Mick White, Feb 24, 2005
    #2
    1. Advertising

  3. Guest

    file name - path not required...
     
    , Feb 25, 2005
    #3
  4. JRS: In article <>
    , dated Thu, 24 Feb 2005 11:01:45, seen in news:comp.lang.javascript,
    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.
     
    Dr John Stockton, Feb 25, 2005
    #4
  5. Mick White Guest

    wrote:

    > file name - path not required...
    >

    What are the rules for a Windows file name?
    Mick
     
    Mick White, Feb 25, 2005
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?Sm9l?=

    Extract filename from a filename typed by user

    =?Utf-8?B?Sm9l?=, Aug 23, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    1,068
    Travis Murray
    Aug 24, 2004
  2. Alex

    checking valid filename

    Alex, Jan 31, 2004, in forum: Java
    Replies:
    8
    Views:
    13,108
    Jon A. Cruz
    Feb 8, 2004
  3. Replies:
    1
    Views:
    1,601
    Roland de Ruiter
    Jun 15, 2006
  4. Ed
    Replies:
    10
    Views:
    46,708
    alok000707
    Jul 13, 2010
  5. Peter L. Berghold
    Replies:
    6
    Views:
    581
Loading...

Share This Page