[英]Javascript: How to remove illegal URL characters from a file name?
如何從文件名中刪除非法URL字符,但不刪除文件擴展名上的點? 有沒有辦法做到這一點? 目前我有這個
fileName = "I am a file name + two.doc"
fileName.replace(/[^a-zA-Z0-9-_]/g, ''); // regex that removes illegal characters
但它也刪除了。 在.doc我想要的東西將刪除除文件擴展名之外的非法字符。 可能嗎?
添加.
文字,然后, \\.
:
var fileName = "I am a file name + two.doc";
fileName.replace(/[^a-zA-Z0-9-_\.]/g, ''); // 'Iamafilenametwo.doc'
值得指出的是.
正則表達式中的字符將匹配除換行符之外的任何單個字符 。 因此,您需要轉義字符才能使其與文字字符\\.
匹配\\.
此外, \\w
等同於[A-Za-z0-9_]
,因此您可以將表達式縮短為:
/[^\w.]/g
正如hwnd所指出的 ,如果你不想在文件名中允許其他點字符,你可以使用減法:
.replace(/(?!\.[^.]+$)\.|[^\w.]+/g, '')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.