我有我的這個正則運算式可以驗證電話號碼(即 1 (417) 230-0718)。使用這個正則運算式/^[\ ]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im,我在接下來運行我的測驗用例時遇到了關于不必要的轉義字符的錯誤: 。如何禁用此 eslint-error 以便我繼續我的測驗用例并使用正則運算式。
感謝任何幫助!
uj5u.com熱心網友回復:
您的示例電話號碼與您的原始正則運算式不匹配,并且包含多個不必要的轉義。
首先回答你最初的問題:在[]一部分中,你不需要轉義字符 - 唯一具有特殊含義的字符是^,并且它也只有作為里面的第一個字符具有特殊含義,[]所以你可以把它放得更遠. 此外,您不僅需要[]一個字符 - 那么轉義版本會更好。
在您的正則運算式與您的示例電話號碼不匹配旁邊:您在開頭的 號后缺少國際前綴。
我會將您的正則運算式重寫為以下內容:
/^(?:\ \d{1,3}[-\s.]?)?\(?[0-9]{3}\)?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/m
您不需要i標志,因為沒有大寫/小寫數字。
此更新的正則運算式允許可選的 1 到 3 位國際前綴,但必須以
uj5u.com熱心網友回復:
這是解決這個問題的正確方法。
/^[ ]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/im
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/457097.html
