簡體   English   中英

php正則表達式文件名

[英]php regex filename

有人可以幫我一個preg_match嗎? 我想使用php的preg_match來確定輸入是否是有效的文件名(只有文件名+文件擴展名,而不是完整路徑)。 通用規則:

1) filename = a-z, A-Z, 0-9
2) extension = 3 or 4 letters

謝謝!

嘗試這個:

preg_match('/^[a-zA-Z0-9]+\.[a-zA-Z]{3,4}$/', $filename)

你可以做:

if(preg_match('#^[a-z0-9]+\.[a-z]{3,4}$#i',$filename)) {
        echo "Valid";
}else{
        echo "not Valid";
}
/^[a-zA-Z0-9]+\.[a-zA-Z]{3,4}$/

如果要強制執行文件名部分的最小/最大長度:

//minimum 4 characters and a maximum of 8 characters

/^[a-zA-Z0-9]{4,8}\.[a-zA-Z]{3,4}$/
^\w+\.\w{3,4}$

應該管用。

嘗試這個:

$filename1 = "file_16may25_001818.csv";
$filename2 = "file_16may25_001818";
$filename3 = "file.csv";
$filename4 = "file.txt";


echo "<br />filename1=>".preg_match('/^file(.*).csv/', $filename1);
echo "<br />filename2=>".preg_match('/^file(.*).csv/', $filename2);
echo "<br />filename3=>".preg_match('/^file(.*).csv/', $filename3);
echo "<br />filename4=>".preg_match('/^file(.*).csv/', $filename4);

?>

輸出:

filename1=>1
filename2=>0
filename3=>1
filename4=>0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM