2012-03-23 43 views
0

我需要驗證的文件名與以下模式....的Javascript正則表達式驗證文件名模式

  1. 文件名(字符串)不應爲null或空
  2. 文件名(字符串)應該有擴展名爲.INI
  3. 文件名(字符串)應該有「gen1」或「gen2」或「gen3」... genN其中N必須是數字。

我們已經做了與JavaScript字符串函數的實現,但它看上去有點亂..

我真的很感興趣驗證-3「胚芽」,可以用正則表達式

+0

minitech在下面的答案提出了一個很好的觀點。你能澄清你的意思是「應該有'gen1'」嗎?那就是 - 你可以舉一些有效的文件名的例子嗎? – ruakh 2012-03-23 15:22:37

回答

2

通過 「應該有genN」,你的意思是:

  • 應該被命名爲根#的.ini?

    /^gen\d\.ini$/i 
    
  • 應包含gen#

    /^.*gen\d.*\.ini$/i 
    

另外,如果你想超過0在這些9,改變\d\d+。如果您只想接受1及以上,[1-9]。這兩個要求? [1-9]\d*


Here's a helpful picker應該爲你制定正確的正則表達式。

+0

由於Minitech ...工作完美的芽...你應該選擇maxtech的頭像... :) – StartingFromScratch 2012-03-23 16:24:31

+0

不錯的選擇器........ – 2012-05-30 04:47:08

0
更優雅做的

我同意,這聽起來很適合正則表達式。假設N必須是正十進制整數,且不能有前導0 S,你可以寫:

/^gen[1-9][0-9]*\.INI$/ 

這意味着「啓動的字符串(^),其次是gen,其次是1-9範圍內的一個數字,後面跟零個或多個(*)數字,範圍爲0-9,後跟一個文字點(\.),接着是INI,後跟字符串結束($)「。