马来西亚手机 phone 号码的正则表达式
Regex for Malaysian mobile phone Number
这是我目前为 eg:01xxxxxxxx:
使用的正则表达式模式
<input class="mdl-textfield__input" name="mobile_number" type="text" pattern="^(\+?6?01)[0-46-9]-*[0-
9]{7,8}$">
我试图不仅允许 10 位数字,而且还允许其他格式,如 11 位数字 (01xxxxxxxxx) 和办公室号码 eg:0xxxxxxxx。
谁能帮帮我?
您可以使用替代 |
来匹配可选的前缀部分,如果不需要则省略匹配连字符,作为第二个替代匹配 0 后跟 8 位数字。
pattern属性是隐式锚定的,所以可以省略^
和$
\+?6?(?:01[0-46-9]\d{7,8}|0\d{8})
模式匹配:
\+?6?
匹配一个可选的 +
和一个可选的 6
(?:
交替的非捕获组
01[0-46-9]\d{7,8}
匹配 01
然后一个除 5
和 7-8 位数字
|
或
0\d{8}
匹配一个0
和8位数字
)
关闭非捕获组
这是我目前为 eg:01xxxxxxxx:
使用的正则表达式模式<input class="mdl-textfield__input" name="mobile_number" type="text" pattern="^(\+?6?01)[0-46-9]-*[0-
9]{7,8}$">
我试图不仅允许 10 位数字,而且还允许其他格式,如 11 位数字 (01xxxxxxxxx) 和办公室号码 eg:0xxxxxxxx。
谁能帮帮我?
您可以使用替代 |
来匹配可选的前缀部分,如果不需要则省略匹配连字符,作为第二个替代匹配 0 后跟 8 位数字。
pattern属性是隐式锚定的,所以可以省略^
和$
\+?6?(?:01[0-46-9]\d{7,8}|0\d{8})
模式匹配:
\+?6?
匹配一个可选的+
和一个可选的6
(?:
交替的非捕获组01[0-46-9]\d{7,8}
匹配01
然后一个除5
和 7-8 位数字|
或0\d{8}
匹配一个0
和8位数字
)
关闭非捕获组