2016-01-23 4143 views
-3

電話號碼必須採用89xxxxxxxxx格式,因此必須從89開始,只包含數字並且包含共同的11位數字。 我試過這個reg表達式^(89)[0-9]{9}$https://regex101.com/r/rB4rJ3/1但它不起作用。如何使它工作?註冊前請檢查電話號碼

+4

它的工作原理,只需添加'gm'標誌。 – ndn

+0

您的測試用例是兩行中的兩個電話號碼。正則表達式只匹配一個電話號碼。 – JJJ

+0

我使用了兩個電話號碼僅用於測試目的。當然,我會是一個號碼,但我想要看看它是如何工作的。看起來,用'gm'標誌檢查工作正常。 – Heidel

回答

1

你用你的正則表達式所犯的錯誤是你使用了^$。請注意,只有當你希望你的string完全匹配regex

你的正則表達式^(89)[0-9]{9}$應使用這些說有相匹配只第一兩個數字爲89再其次是9位,從0-9的字符串。這就是爲什麼它的失敗,以匹配
89208713060
89208713065
哪些是在單獨的行兩個10位數。

如果你的輸入是一行中只有一個10位數的數字,那麼你的正則表達式很好。
但是,如果您希望匹配文件或其他字符串中的10位數字,您應該刪除錨定並使用standard form