# Safari 出現 SyntaxError: Invalid regular expression: invalid group specifier name 錯誤 網站中如果有使用到正規表達式,Safari 瀏覽器會在某個正規規則下報出以下錯誤:`SyntaxError: Invalid regular expression: invalid group specifier name`,接著網站可能就會一片空白或是無法正常運作。 以下是我接手案子內的其中一段程式碼: ```javascript= transPoint(point) { // 下面這段 Safari 會報錯,必須用 RegExp 包 return point.replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ','); }, ``` 上面這段直接把正規規則包在 /.../g 裡在 Safari 上是會出錯的,需要使用 `new RegExp('...', 'g')` 包起來才可以,並且有使用到 \d 的部份要改用兩個反斜線來取代,例如 \d 需更改為 \\\d 修改過後如下: ```javascript= transPoint(point) { const regExp = new RegExp('\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))', 'g'); return point.replace(regExp, ','); }, ``` ## 參考資料 [https://penueling.com/%E6%8A%80%E8%A1%93%E7%AD%86%E8%A8%98/safari-%E5%87%BA%E7%8F%BE-syntaxerror-invalid-regular-expression-invalid-group-specifier-name/](https://penueling.com/%E6%8A%80%E8%A1%93%E7%AD%86%E8%A8%98/safari-%E5%87%BA%E7%8F%BE-syntaxerror-invalid-regular-expression-invalid-group-specifier-name/) ###### tags: `javascript`, `safari`, `error`