JS中,正则表达式:match(/^(.*)(\.)(.{1,8})$/)[3]分析

前情提要:


 前文链接:

  JS验证上传的文件是否为音视频文件格式

页面中需要 判断上传文件的,结尾格式,为是否为音视频。需要写个正则表达式来截取,用户上传的文件,是否符合以下格式。

var arr = new Array("avi","wmv","mpg","mpeg","mov","rm","ram","swf","flv","mp4","mp3","wma","avi","rm","rmvb","flv","mpg","mkv")

用到了以下的正则表达式:

正则分析:


 

.match(/^(.*)(\.)(.{1,8})$/)[3]

大白话解释为:

找到所有匹配类似 包含.号,前面任意长度的字符,后面1到8个长度的字符,返回一个数组。
然后取数组长度[3],应该包括0,1,2,3 四位。

拆分解析:


 

1
^
2
.*
3
\.
4
.{1,8}
5
$

 

 

 

 

 

 

 

 

 

  开始的,前后的杠只是 JavaScript的界符,没有实际意义。

  1、^  :表示匹配开始。

  2、.* :匹配 .号 之前任意字符串开始(包括没有)。

  3、\. :查找文件名中带有 .号 的位置,就需要对.号 进行转义。

      即在其前面加一个 \,表示起来就是\.

  4、.{1,8} :.号 后面取1-8个任意字符。

  5、 $ : 表示匹配结束。

 

参考,正则表达式,基本语法:

 

 

 by不言谢

posted @ 2020-07-20 16:34  不言谢  阅读(2396)  评论(0编辑  收藏  举报