Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regex pattern for mobile number validation with extension

I have seperate regex validations for my requirement but struggling to combine them in one. I am validation mobile numbers with country code or starting with 00 and also if they contain extension number(2-5 digits) seperated by #

Following is the example of valid Number :

+919986040933
00919986040933
+919986040933#12
+919986040933#123
+919986040933#1234
+919986040933#12345

I have following regex to validate the above:

var phoneRegexWithPlus = "^((\\+)|(00))[0-9]{10,14}$";
var phoneRegexWithZero = "^((\\+)|(00))[0-9]{9,12}$";
var phoneRegexExtension = "^[0-9]{2,5}$";

Currently i am checking whether number contains #,if yes then split it and match number and extension part seperately where extension is comething after hash.

My problem is now that i have to create one regex combining the above three,can anyone help me with that as m not good in regex. Thanks in advance.

like image 630
Pratswinz Avatar asked Dec 08 '25 05:12

Pratswinz


1 Answers

I suggest this expression:

^\+?(?:00)?\d{12}(?:#\d{2,5})?$

See the regex demo

Expression explanation:

  • ^ - start of string
  • \+? - an optional plus (as ? matches the + one or zero times)
  • (?:00)? - an optional 00
  • \d{12} - Exactly 12 digit string
  • (?:#\d{2,5})? - an optional (again, ? matches one or zero times) sequence of:
    • # - a literal hash symbol
    • \d{2,5} - 2 to 5 digits (your phoneRegexExtension)
  • $ - end of string.

The phoneRegexWithPlus and phoneRegexWithZero are covered with the first obligatory part \+?(?:00)?\d{12} that matches 12 to 14 digits with an optional plus symbol at the start.

NOTE: The regex is adjusted to the sample input you provided. If it is different, please adjust the limiting quantifiers {12} (that can be replaced with, say, {9,14} to match 9 to 14 occurrences of the quantified pattern).

like image 107
Wiktor Stribiżew Avatar answered Dec 10 '25 19:12

Wiktor Stribiżew



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!