2014-09-04 69 views
-1

我需要RegEx模式的幫助才能在上載前以特定格式驗證文件名。其格式爲:如何正則表達式文件名稱模式XXXX_YYYYYY_filename.pdf

XXXX_YYYY_anyFileName.extension

  • XXXX是一個客戶號是字母數字與長度10
  • YYYY是文檔數,且必須僅是數字。
  • anyFileName將是最終用戶提供的常規文件名。
  • 擴展名將是上傳文件的默認擴展名。

我試圖此作爲測試:

([A-ZA-Z0-9 _] +)

但以下圖案xxxx.pdf傳遞。我不知道如何使下劃線成爲必填項。

+0

爲什麼這會被投票? – 2014-09-04 23:27:07

回答

2

試試這個:

([A-Za-z0-9]{10})_([0-9]+)_(.+)\.(.+) 
^    ^  ^ ^
|    |   `-----` Any char, at least one 
|    | 
|    ` A number must appear at least once 
` only chars within "A-Za-z0-9" are allowed and must appear 10 times 

爲了迫使整個字符串必須在正則表達式匹配上面,你可能必須通過^和後綴與$前綴它。

嘗試在這裏:http://regex101.com/r/qQ2dE4/5

1

如果你不想在你的文件名,特殊字符和擴展,你可以使用這樣的正則表達式:

^[A-Za-z\d]{10}_\d+_[A-Za-z\d]+\.[A-Za-z\d]+$ 

Working demo

enter image description here