上传功能在项目中经常用到,一般上传时要验证一下文件的格式是不是我们需要的。验证方法很多,而正则表达式经常会被用到。

比如我要上传的文件必须是图片格式,而且后缀名不区分大小写,可以这样写:

// 根据名称获取文件后缀名
const index = fileName.lastIndexOf('.') // 根据文件名找到最后一个‘.’的索引
const suffixName = fileName.substr(index) // 根据索引截取,得到后缀名

/**
  正则表达式
  $:表示以前面的字母结尾
  i:表示忽略大小写
*/
const verifyImg = /.(jpg|jpeg|gif|bmp|png)$/i

// 验证
if(verifyImg.test(suffixName)){ // 为真表示验证通过

}

正则表达式的test() 方法,接收一个字符串参数。如果输入的文本与模式匹配,则参数返回 true ,否则返回 false 。这个方法适用于只想测试模式是否匹配,而不需要实际匹配内容的情况。

更多推荐

根据文件后缀名利用正则表达式区分文件格式