2011-01-27 144 views
-3

可能重複:
reject if file name contains non english character正則表達式對非英文字符

如何檢查文件名包含非英文字符像 思科-S11-POA1800005815-Inv04736851-100919重做沒有。 pdf我需要避免非英文字符

+1

允許使用哪些字符? – Phrogz 2011-01-27 06:17:02

+0

定義「非英文」字符的含義。 – 2011-01-27 06:19:17

+3

重複[拒絕如果文件名包含非英文字符](http://stackoverflow.com/questions/4790950/reject-if-file-name-contains-non-english-character),昨天由同一用戶問及沒有答案被接受。 @vijay:重新問你的問題絕對不是獲得積極幫助的方法。 – Phrogz 2011-01-27 06:22:37

回答

3
// Disallow anything but a-z, 0-9, underscore, period, hyphen, and comma 
var disallowed = /[^a-z0-9_.,-]/i; 
if (disallowed.test(myFileName)){ 
    // do something here 
} 

添加到您認爲合適的允許字符列表,但確保連字符位於列表的末尾,否則使用\-進行轉義。

3

正確的答案取決於瞭解你的字符集。

但正則表達式是這樣的:

var re = /[\x80-\xFF]/; 
if (re.match(...)) { 
    alert("File name contains non-ASCII character!"); 
} 

是一個快速的答案。

請注意,如果您的文件名包含任何特殊符號,它也會投訴。

也許白名單,只說允許的字符,是一個更好的選擇,像這樣?

var re = /[^A-Za-z0-9_,.-]/; 
if (re.match(...)) { 
    alert("File name contains non-ASCII character!"); 
} 
相關問題