2014-11-25 86 views
-1

我在寫一個文件上傳頁腳本(Javascript)。用戶從他們的機器中選擇一個文件。只允許在字符串中使用字母數字,短劃線,下劃線和句點(Javascript)

我需要從含的文件名的字符串,它是不去掉任何東西:

  • 甲數
  • 破折號
  • 下劃線
  • 甲週期

我一直在試着用Javascript替換f unction刪除不必要的字符。我能夠刪除使用的所有非字母數字部分:

rawFilename = data.files[0].name; 
safeFilename = rawFilename.replace(/\W/g, ''); 

這使得在信中,數字和下劃線,但我還需要允許破折號和句號。我不確定選擇短劃線和週期的正確正則表達式是什麼。

回答

4

這是使用負character class很簡單:

str = str.replace(/[^\w.-]+/g, ""); 

唯一的疑難雜症是,-需求是第一或最後在列表中,因爲它可以被解釋爲範圍操作。

+0

完美。謝謝盧卡斯! – 2014-11-25 00:52:46

+0

或者破折號也可以逃脫 – Gary 2014-11-25 02:00:03

相關問題