我需要验证手机号码。我的需求:
- 号码可能以+8801、8801或01开头
- 下一个数字可以是1、5、6、7、8或9
- 然后有确切的8位数字。
如何使用这些条件编写正则表达式?
我尝试过的手机号码:
+8801811419556
01811419556
8801711419556
01611419556
8801511419556
我需要验证手机号码。我的需求:
- 号码可能以+8801、8801或01开头
- 下一个数字可以是1、5、6、7、8或9
- 然后有确切的8位数字。
如何使用这些条件编写正则表达式?
我尝试过的手机号码:
+8801811419556
01811419556
8801711419556
01611419556
8801511419556
应该很简单:
^(?:\+?88)?01[15-9]\d{8}$
^
- 字符串开头(?:\+?88)?
- 可选的 88
,可以以 +
开始01
- 必须有 01
[15-9]
- "1 或 5 或 6 或 7 或 8 或 9"\d{8}
- 8 个数字$
- 字符串结尾工作示例: http://rubular.com/r/BvnSXDOYF8
2020 年更新
由于 BTRC 批准了 2 个新前缀,013 用于 Grameenphone,014 用于 Banglalink,现在更新表达式:
^(?:\+?88)?01[13-9]\d{8}$
00
开头的号码,所以不行。你可以相对容易地更改模式,例如,假设 00
是国际访问代码:^(?:(?:\+|00)?88)?01[15-9]\d{8}$
。 - Kobi/(^(\+88|0088)?(01){1}[56789]{1}(\d){8})$/
Robi、Grameen Phone、Banglalink、Airtel 和 Teletalk 运营商的手机号码是允许的。
解决方案 2:
/(^(\+8801|8801|01|008801))[1|5-9]{1}(\d){8}$/
只允许使用Citycell、Robi、Grameen Phone、Banglalink、Airtel和Teletalk运营商的手机号码。
允许的手机号码格式:
+8801812598624
008801812598624
01812598624
01712598624
01919598624
01672598624
01512598624
................
.................
我知道,那个问题早就被问过了,但我认为@G. M. Nazmul Hossain想要验证所选国家的手机号码。我向您展示如何使用来自Google的免费库libphonenumber进行操作。它适用于Java、C++和Javascript,但也有针对PHP和其他语言的分支。
+880告诉我这是孟加拉国的国家代码。让我们尝试在Javascript中使用以下代码验证示例号码:
String bdNumberStr = "8801711419556"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
//BD is default country code for Bangladesh (used for number without 880 at the begginning)
PhoneNumber bdNumberProto = phoneUtil.parse(bdNumberStr, "BD");
} catch (NumberParseException e) {
System.err.println("NumberParseException was thrown: " + e.toString());
}
boolean isValid = phoneUtil.isValidNumber(bdNumberProto); // returns true
$pattern = '/(^(\+8801|8801|01|008801))[1-9]{1}(\d){8}$/';
$BangladeshiPhoneNo = "+8801840001417";
if(preg_match($pattern, $BangladeshiPhoneNo)){
echo "It is a valid Bangladeshi phone number;
}
**Laravel Bangladeshi Phone No validation for (Citycell, Robi, Grameen Phone, Banglalink, Airtel and Teletalk) and start with +88/88 then 01 then 356789 then 8 digit**
public function rules()
{
return [
'mobile' => 'sometimes|regex:/^(?:\+?88)?01[35-9]\d{8}$/',
];
}
public function messages()
{
'mobile.regex' => 'Mobile no should be bd standard',
];
}