From 327c38d6f0c6b79b46465406373ea7048bfec55e Mon Sep 17 00:00:00 2001 From: Sineth Sankalpa <66241389+sinsankio@users.noreply.github.com> Date: Sat, 29 Oct 2022 18:10:14 +0530 Subject: [PATCH] Srilankan phone number validation (#7706) * Add is_srilankan_phone_number.py * Update is_srilankan_phone_number.py --- strings/is_srilankan_phone_number.py | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 strings/is_srilankan_phone_number.py diff --git a/strings/is_srilankan_phone_number.py b/strings/is_srilankan_phone_number.py new file mode 100644 index 000000000..7bded93f7 --- /dev/null +++ b/strings/is_srilankan_phone_number.py @@ -0,0 +1,35 @@ +import re + + +def is_sri_lankan_phone_number(phone: str) -> bool: + """ + Determine whether the string is a valid sri lankan mobile phone number or not + References: https://aye.sh/blog/sri-lankan-phone-number-regex + + >>> is_sri_lankan_phone_number("+94773283048") + True + >>> is_sri_lankan_phone_number("+9477-3283048") + True + >>> is_sri_lankan_phone_number("0718382399") + True + >>> is_sri_lankan_phone_number("0094702343221") + True + >>> is_sri_lankan_phone_number("075 3201568") + True + >>> is_sri_lankan_phone_number("07779209245") + False + >>> is_sri_lankan_phone_number("0957651234") + False + """ + + pattern = re.compile( + r"^(?:0|94|\+94|0{2}94)" r"7(0|1|2|4|5|6|7|8)" r"(-| |)" r"\d{7}$" + ) + + return bool(re.search(pattern, phone)) + + +if __name__ == "__main__": + phone = "0094702343221" + + print(is_sri_lankan_phone_number(phone))