正则表达式匹配文件类型

比如要匹配所有doc文件,就是文件名以.doc结尾,这样写不对吗?
"\\.doc$"
我当然已经试过,结果这样写是不对的。请问正确的要怎么写?$的意思不就是说以.doc为结尾的字符串吗?怎么可能只是匹配.doc,"^\\.doc$"才是只匹配.doc吧。

虽然不能马上说出正确的来,但是有一点能确信,那就是这肯定是错的。因为\\.doc$只能匹配.doc如果.doc;前面有东西就匹配不上了。要测这个也很简单,没有必要问人,自己就可以测了。String.matches();方法,然后把它输出,看是true还是false就可以测了。
JavaScript不是很了解,但是如果是Java的话,没有必要用正则表达式。判断后缀名的话String类有个非常好用的方法。endsWith(String str);判断字符串是否是由指定字符串结尾的。
哎……看你急得这样还是把正则表达式直接说给你吧。".+\\.doc"。这样就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-23
应该这样写:"^\S+\.doc$" 表示这样的一个字符串:一个或一个以上的非空白字符开始加上以.doc结尾的字符串
第2个回答  2008-10-23
我这里刚写过是:判断是否上传的是Excel文件,你改下就OK了
<script type="text/javascript">
function CheckForm()
{
var upload=document.getElementsByName("file")[0].value;
var ext=upload.substring(upload.lastIndexOf(".")+1,upload.length);
if (document.getElementsByName("file")[0].value.length == 0)
{
alert("请输入您要解析的Excel文件!");
document.getElementsByName("file")[0].focus();
return false;
}
if(ext!="xls"&&ext!="XLS"&&ext!="Xls"&&ext!="XLs"&&ext!="xLS"&&ext!="xlS"){
alert("你上传的文件不是excel文件");
document.getElementsByName("file")[0].focus();
return false;
}
return true;
}
</script>
第3个回答  2008-10-23
对!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网