这是一个比较怪的要求,要求用户上传图片是图片名称必须为中文否则不能上传,下面我们利用了toASCII中的中文的unicode范围来解决
实例
代码如下 |
|
<Script language="javascript">
function mysubmit(theform)
{
if(theform.big.value=="")
{
alert("请点击浏览按钮,选择您要上传的jpg或gif文件!")
theform.big.focus;
return (false);
}
else
{
str= theform.big.value;
strs=str.toLowerCase();
lens=strs.length;
extname=strs.substring(lens-4,lens);
if(extname!=".jpg" && extname!=".gif")
{
alert("请选择jpg或gif文件!");
return (false);
}
}
return (true);
}
</script>
<form enctype="multipart/form-data" action="zsupload_save.asp" method=post onSubmit="return mysubmit(this)"><tr><td align="left">
<input type="file" name="big" size="25" class="inputh">
<INPUT TYPE="hidden" name="filepath" value="upload_img" class="inputh">
<INPUT TYPE="hidden" name="hid" value="<%=myhid%>">
<input type="submit" name="upload" value="上传" class="inputh"> 最多为<font color="#FF0000">12</font>张
</td>
</tr></form>
|
如果要想上传的时候,只能选择中文名称的图片(是否可以用toASCII方法呢?) ,前两天看的《JavaScript开发王》里恰好有中文的unicode范围,正则如下:
核心代码
代码如下 |
|
/[u4E00-u9FA5uf900-ufa2d]/
|
写了一个简单的测试,会把所有的中文替换成“哦”。
代码如下 |
|
<script type="text/javascript">
var str = "有中文?and English.";
var reg = /[u4E00-u9FA5uf900-ufa2d]/ig;
str = str.replace(reg,'哦');
document.write(str);
</script>
|
这样我们只要在mysubmit提交前做中文验证即可