如何检查文件名包含非英文字符 Cisco-S11-POA1800005815-Inv04736851-100919重做没有.pdf我需要避免非英文字符
答案 0 :(得分: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
}
根据需要添加到允许的字符列表中,但确保连字符位于列表的末尾,或者使用\-
将其转义。
答案 1 :(得分: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!");
}