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不言謝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM