文件擴展名我敢肯定,這一定是很容易的,但我掙扎......匹配文件名,並從單一的正則表達式
var regexFileName = /[^\\]*$/; // match filename
var regexFileExtension = /(\w+)$/; // match file extension
function displayUpload() {
var path = $el.val(); //This is a file input
var filename = path.match(regexFileName); // returns file name
var extension = filename[0].match(regexFileExtension); // returns extension
console.log("The filename is " + filename[0]);
console.log("The extension is " + extension[0]);
}
上面的功能工作正常,但我敢肯定它必須是通過引用.match()方法返回的數組的不同部分,可以用一個正則表達式實現。我試過結合這些正則表達式,但沒有成功。
而且,我沒有使用字符串來測試它在本例中,作爲執行console.log()中逸出的文件路徑反斜線和它已開始在此之後第一次來迷惑我:)
我更多的是.NET正則表達式的傢伙,但不你錯過了第一個捕獲組? – rtpHarry
@rtpHarry:整個匹配(組0)是文件名(包括擴展名),第一個捕獲組(組1)是擴展名。 –
他需要文件的名稱,而不是整個路徑。 – shift66