javascript 验证上传文件是否为图片-查错
<inputid="txt_bpice"type="file"/><inputid="Button2"type="button"value="button"languag...
<input id="txt_bpice" type="file" /><input id="Button2" type="button" value="button" language="javascript" onclick="return Button1_onclick()" />
<script type="text/javascript">
function Button1_onclick() {
var txt_bpice=document.getElementById("txt_bpice");
var b=/(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.png|.gif|.swf|.bmp|.jpeg)/;
var t_value=txt_bpice.value.toLowerCase() ;
var a=b.test(txt_bpice_value);
alert(a);// ie=True ff=false;
}
</script>
这样的代码、在ie中是返回真的。在火狐狸中去为false
是不是正则表达写错了。? 展开
<script type="text/javascript">
function Button1_onclick() {
var txt_bpice=document.getElementById("txt_bpice");
var b=/(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.png|.gif|.swf|.bmp|.jpeg)/;
var t_value=txt_bpice.value.toLowerCase() ;
var a=b.test(txt_bpice_value);
alert(a);// ie=True ff=false;
}
</script>
这样的代码、在ie中是返回真的。在火狐狸中去为false
是不是正则表达写错了。? 展开
4个回答
展开全部
主要是 正则表达式不兼容。网上都是转载
var RegExp=/^(\-)?[0-9]*$/g;
// if (RegExp.test(num))
if (num.match(RegExp))
这个例子,没创意,郁闷。
刚好最近做个 验证图片的。方法不一样,能用就行。有点长。通过最后截取的格式来判断的。
function CheckExt(ext)
{
//这里设置允许的扩展名
var AllowExt="jpg|gif|jpeg|png|bmp|swf";
AllowExt="jpg|gif|jpeg|png|bmp";
var ExtOK=false;
var ArrayExt;
if(AllowExt.indexOf('|')!=-1)
{
ArrayExt=AllowExt.split('|');
for(i=0;i<ArrayExt.length;i++)
{
if(ext.toLowerCase()==ArrayExt[i])
{
ExtOK=true;
break;
}
}
}
else
{
ArrayExt=AllowExt;
if(ext.toLowerCase()==ArrayExt)
{
ExtOK=true;
}
}
return ExtOK;
}
function CheckUploadFile(f,bmp)
{
var path = f.value;
var Ext = "";
var ExtOK = false;
if(f.value != "")
{
path = f.value;
if(path.length>3)
{
Ext = path.substr(path.length-3,3);
ExtOK = CheckExt(Ext);
}
}
else
{
ExtOK = true;
}
return ExtOK;
}
function CheckSave(fileUploadID)
{
var path = "";
var Ext = "";
var ExtOK = false;
if(!CheckUploadFile(document.getElementById(fileUploadID),false))
{
return false;
}
return true;
}
var RegExp=/^(\-)?[0-9]*$/g;
// if (RegExp.test(num))
if (num.match(RegExp))
这个例子,没创意,郁闷。
刚好最近做个 验证图片的。方法不一样,能用就行。有点长。通过最后截取的格式来判断的。
function CheckExt(ext)
{
//这里设置允许的扩展名
var AllowExt="jpg|gif|jpeg|png|bmp|swf";
AllowExt="jpg|gif|jpeg|png|bmp";
var ExtOK=false;
var ArrayExt;
if(AllowExt.indexOf('|')!=-1)
{
ArrayExt=AllowExt.split('|');
for(i=0;i<ArrayExt.length;i++)
{
if(ext.toLowerCase()==ArrayExt[i])
{
ExtOK=true;
break;
}
}
}
else
{
ArrayExt=AllowExt;
if(ext.toLowerCase()==ArrayExt)
{
ExtOK=true;
}
}
return ExtOK;
}
function CheckUploadFile(f,bmp)
{
var path = f.value;
var Ext = "";
var ExtOK = false;
if(f.value != "")
{
path = f.value;
if(path.length>3)
{
Ext = path.substr(path.length-3,3);
ExtOK = CheckExt(Ext);
}
}
else
{
ExtOK = true;
}
return ExtOK;
}
function CheckSave(fileUploadID)
{
var path = "";
var Ext = "";
var ExtOK = false;
if(!CheckUploadFile(document.getElementById(fileUploadID),false))
{
return false;
}
return true;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要正则写的不对
<input id="txt_bpice" type="file" /><input id="Button2" type="button" value="button" language="javascript" onclick="return Button1_onclick()" />
<script type="text/javascript">
function Button1_onclick() {
var txt_bpice=document.getElementById("txt_bpice");
var b=/\w+([.jpg|.png|.gif|.swf|.bmp|.jpeg]){1}$/;
var t_value=txt_bpice.value.toLowerCase() ;
var a=b.test(t_value);
alert(a);// ie=True ff=false;
}
</script>
<input id="txt_bpice" type="file" /><input id="Button2" type="button" value="button" language="javascript" onclick="return Button1_onclick()" />
<script type="text/javascript">
function Button1_onclick() {
var txt_bpice=document.getElementById("txt_bpice");
var b=/\w+([.jpg|.png|.gif|.swf|.bmp|.jpeg]){1}$/;
var t_value=txt_bpice.value.toLowerCase() ;
var a=b.test(t_value);
alert(a);// ie=True ff=false;
}
</script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一种可能是ff中使用的路径分隔符是/,其实只能判断一下最后的扩展名就可以了,不必把前面的模式都写出来。路径不正确的话上传不了吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样就可以了
function Button1_onclick() {
var txt_bpice =document.getElementById("txt_bpice");
var a = /\.(jpg|png|gif|swf|bmp|jpeg)$/i.test(txt_bpice.value);
alert(a);
}
function Button1_onclick() {
var txt_bpice =document.getElementById("txt_bpice");
var a = /\.(jpg|png|gif|swf|bmp|jpeg)$/i.test(txt_bpice.value);
alert(a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询