# 若含有非法文件命名符號,則改爲空
def get_certainty_name(uncertainty_name):
"""
:param uncertainty_name: 傳入未知的字符串。
:return: 將非法字符替換成" ",在返回數據。
"""
# '/ \ : * ? " < > |' 爲非法文件命名符號
invalid = r"[\/\\\:\*\?\"\<\>\|]"
certainty_name = re.sub(invalid, you_like_string, uncertainty_name)
return certainty_name
用下面的表達式驗證就行了.
!/[\/\\"<>\?\*]/gi.test(文件名)
如
alert(!/[\/\\"<>\?\*]/gi.test('abc.jpg'));
alert(!/[\/\\"<>\?\*]/gi.test('abc*?.jpg'));
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
<title>網頁特效 上傳文件名是否包含中文</title>
</head>
<body>
<script language="javascript">
function check(o){
var str=o.value.split("\\")[o.value.split("\\").length-1];
var re=/[\u0391-\uFFE5]+/g
if (str.match(re)!=null) alert('文件名不能包含漢字!');
else alert('文件名合法!');
}else{
alert("上傳文件不可包含中文!");
return false;
}
</script>
<input id="zzjs_fileupload" type="file">
<input type="button" οnclick="check(document.getElementById('zzjs_fileupload'))" value="上傳">
</body>
</html>