在做上传相关的业务的时候,经常需要验证文件的扩展名是否符合,正则表达式是个不错的选择。以验证图片格式为例:
function checkSuffix(str) { var strRegex = "(.jpg|.png|.gif|.ps|.jpeg)$"; //用于验证图片扩展名的正则表达式 var re=new RegExp(strRegex); if (re.test(str.toLowerCase())){ return true; } else{ alert("文件名不合法"); return false; } }
下面就来验证一下
var f = 'a.mp3' checkSuffix(f) false f='a.jpg' checkSuffix(f) true
如果头疼写正则表达式的话,下面来改造一下函数,直接传入支持的后缀名
/* * suf 格式为逗号分隔的多个后缀,例如jpg,gif,png */ function checkSuffix(str,suf) { var strRegex = "(." + suf.split(',').join('|.') + ")$"; var re=new RegExp(strRegex); if (re.test(str.toLowerCase())){ return true; } else{ alert("文件名不合法,支持的后缀名为" + suf); return false; } }
下面就来验证一下
checkSuffix('a.jpg', 'jpg,gif,png') true checkSuffix('a.mp3', 'jpg,gif,png') false
怎么样,简单多了吧。
转载请注明:知识蚂蚁 » js正则表达式验证文件扩展名