專案中檔案上傳需要驗證檔案的格式,第一次正常,第二次就驗證不通過了。在驗證的地方console.log()兩遍,發現結果不一樣 !!!
正則和檔名都沒變,但是兩次的驗證結果不同。
this.reg = /\.(xlsx|xls)$/ig;
console.log(this.reg.test(newfile.name)) //true
console.log(
this.reg.test(newfile.name)) //false
lastindex 這一屬性用於匹配下次檢索的開始位置,該屬性可讀寫,exec() 或 test()方法可以改寫這一屬性。
當找不到匹配內容是,lastindex被自動設為0。
解決方案
第一種方案是將g去掉,關閉全域性匹配。
第二種就是在每次匹配之前將lastindex的值設定為0。
正則多次呼叫test 返回的值卻不同 md
在解決多埠的單項驗證時,需要將以逗號分隔的埠切割為陣列。對陣列進行遍歷正則判斷 問題 如下 let value input val let ports value.split let flag true let exp d g ports.foreach port return flag 說明 1 ...
JS正則test )方法
每個正規表示式都有乙個 lastindex 屬性,用於記錄上一次匹配結束的位置,包括exec方法。var re 1 9 d gi var str 123456 alert re.test str 返回true str 1234567 alert re.test str 返回false 解決方法 或 ...
事務內執行多次相同的Proc
string strcon server 192.168.161.170 database oppermissionmanagement1 uid sa pwd itdddd string ss sp ma password insert using sqlconnection con new sq...