# 若含有非法文件命名符号,则改为空
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>