Skip to content

Commit 327c38d

Browse files
authored
Srilankan phone number validation (TheAlgorithms#7706)
* Add is_srilankan_phone_number.py * Update is_srilankan_phone_number.py
1 parent 6e809a2 commit 327c38d

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

strings/is_srilankan_phone_number.py

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import re
2+
3+
4+
def is_sri_lankan_phone_number(phone: str) -> bool:
5+
"""
6+
Determine whether the string is a valid sri lankan mobile phone number or not
7+
References: https://aye.sh/blog/sri-lankan-phone-number-regex
8+
9+
>>> is_sri_lankan_phone_number("+94773283048")
10+
True
11+
>>> is_sri_lankan_phone_number("+9477-3283048")
12+
True
13+
>>> is_sri_lankan_phone_number("0718382399")
14+
True
15+
>>> is_sri_lankan_phone_number("0094702343221")
16+
True
17+
>>> is_sri_lankan_phone_number("075 3201568")
18+
True
19+
>>> is_sri_lankan_phone_number("07779209245")
20+
False
21+
>>> is_sri_lankan_phone_number("0957651234")
22+
False
23+
"""
24+
25+
pattern = re.compile(
26+
r"^(?:0|94|\+94|0{2}94)" r"7(0|1|2|4|5|6|7|8)" r"(-| |)" r"\d{7}$"
27+
)
28+
29+
return bool(re.search(pattern, phone))
30+
31+
32+
if __name__ == "__main__":
33+
phone = "0094702343221"
34+
35+
print(is_sri_lankan_phone_number(phone))

0 commit comments

Comments
 (0)