破折號我有一個圖像文件名驗證正則表達式:PHP正則表達式允許這種模式
/^\w*\.(jpg|jpeg|png|gif)$/
但問題是,文件名可以包含破折號-
字符。例如:564SDD-DSS.png
我如何在此聲明中加入破折號?我需要逃避它嗎?
/^\w\-*\.(jpg|jpeg|png|gif)$/
或
/^[\w\-]*\.(jpg|jpeg|png|gif)$/
?
我有點失落。
破折號我有一個圖像文件名驗證正則表達式:PHP正則表達式允許這種模式
/^\w*\.(jpg|jpeg|png|gif)$/
但問題是,文件名可以包含破折號-
字符。例如:564SDD-DSS.png
我如何在此聲明中加入破折號?我需要逃避它嗎?
/^\w\-*\.(jpg|jpeg|png|gif)$/
或
/^[\w\-]*\.(jpg|jpeg|png|gif)$/
?
我有點失落。
只要[\w-]
會做。而不是*
你可能想要+
,因爲我確定基本名至少有一個字符長。總之:
/^[\w-]+\.(jpe?g|png|gif)$/i
注意,這確實允許一個文件名,這只是-.jpg
您可能想要添加'i'修飾符。這裏你還可以在文件擴展名中包含大寫字母 – 2013-04-08 17:57:30
@Le_Morri好點 – 2013-04-08 18:00:25
謝謝!你能告訴我'''在這裏做了什麼:'jpe?g',它檢查一個字符'?' – rinchik 2013-04-08 18:01:17
* offtopic *尊重我authoritah! – Quasdunk 2013-04-08 17:56:22
如果你真的嘗試*運行*這些表達式,你會發現最後一個完全符合你的要求,並保存自己到SO的旅程。 – Sammitch 2013-04-08 17:57:55