簡體   English   中英

手機號碼需要正則表達式以 61 到 99 開頭,10 位數字

[英]Need regex for mobile number start with 61 to 99 with 10 digit number

要求是手機號碼應該以61到99開頭,比如61xxxxxxxx, 62xxxxxxxxx..., 99xxxxxxxxxx

需要正則表達式來匹配這種情況。 如果手機號碼以 0 或 11,12 或任何小於 61 的開頭,那么它應該是無效的

手機號碼最多 10 位,不需要國家代碼。

您最好使用您必須使用的任何編程工具來評估前 2 位數字是否在范圍內,這要簡單得多,而且性能也可能很高。 但是,如果您嚴格地想使用正則表達式,那么這樣做 - (?:6[1-9]|[7-9][0-9])\d{8}$

這是演示

它基本上檢查第一個數字,如果它是 6,下一個數字應該在 [1-9] 范圍內,如果它是 7、8 或 9(即范圍 [7-9]),下一個數字可以在范圍 [0-9]。 然后后面應該有8位數字。

當然,以上是一個簡單易懂的解決方案。 基本上檢查每個第一個數字,然后匹配下一個。 但是,如果您的正則表達式風格支持負向后視,您可能可以將其縮短一點(為了簡潔而犧牲可讀性),但我更喜歡這個。

您可以為數字生成前綴並為剩余的 8 位數字添加模式。

像這樣的東西

const regexp = new RegExp('('+[...Array(39).keys()].map(key => key + 61).join('|') + ')\\d{8,8}')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM