今天在寫一個前端頁面的時候遇到了一個ip參數問題,我想把ip值中的點替換成 - 的形式。在前端上使用javascript進行操作的。測試了兩次沒有好用,程序直接把整個字符串都進行了替換,在考慮這個是為什麼呢?
javascript(請忽略此配圖)
示例
var ip = data.field.ip.replace(/./g,"-");
使用的Js中replace函數,前面第一個參數使用的是正則表達式,第二個參數是將要替換成的字符串。但是在測試結果上確實有問題的。最好的解決辦法是加了一個反斜線。如下:
var ip = data.field.ip.replace(/\./g,"-");
這樣的替換結果就是正常的啦!在點的前面多了一個反斜線( / )。
總結
其實在這裡我忽略了一個問題,就是點在正則中是比較特殊的符號。以及*和?都是特殊的在使用的時候一定要注意,需要將其進行轉義操作,避免出現我這樣的問題。