我需要验证手机号码。我的需要:
- 该号码可以以+8801或8801或01
开头- 下一个数字可以是1或5或6或7或8或9
- 然后有8位数。
醇>
如何使用这些条件编写正则表达式?
我试过的手机号码
+8801811419556
01811419556
8801711419556
01611419556
8801511419556
答案 0 :(得分:23)
应该很简单:
^(?:\+?88)?01[15-9]\d{8}$
^
- 从字符串的开头(?:\+?88)?
- 可选的88
,可能从+
开始01
- 强制01
[15-9]
- “1或5或6或7或8或9”\d{8}
- 8位数字$
- 字符串答案 1 :(得分:3)
您可以使用给定的正则表达式之一来验证孟加拉国的手机号码。
解决方案1:
/(^(\+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 operator mobile no。
允许的手机号码模式
8801812598624
008801812598624
01812598624
01712598624
01919598624
01672598624
01512598624
<强> ................ 强>
<强> ................. 强>
答案 2 :(得分:1)
答案 3 :(得分:1)
我知道,很久以前就问过这个问题,但我认为@G。 M. Nazmul Hossain想要再次选择移动电话号码。我告诉你,如何使用免费库libphonenumber from Google来完成它。它可用于Java,C ++和Javascript,但也有PHP的分支,我相信,其他语言。
+880告诉我它是country code for Bangladesh。让我们尝试使用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
该代码也将处理其中带有空格的数字(例如“880 17 11 41 95 56”),或者甚至在beggininng处使用00880(+有时会替换为00)。
在demo page上亲自尝试一下。验证所有提供的示例甚至更多。
答案 4 :(得分:0)
在以下位置查看libphonenumber: https://code.google.com/p/libphonenumber/
答案 5 :(得分:0)
孟加拉国电话号码( Citycell , Robi , Grameen Phone , Banglalink , Airtel 和 Teletalk 运算符)使用正则表达式进行验证:
$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;
}
答案 6 :(得分:0)
**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',
];
}