我使用以下正则表达式来验证印度的电话号码。
我想在手机的11位数之前选择+88或01。
以下是我正在使用的内容:
string mobileNumber = "+8801000000000";
if (new Regex(@"^([01]|\+88)?\d{11}").IsMatch(mobileNumber)){
MessageBox.Show("Mobile number is valide", "All information is required", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else{
MessageBox.Show("Mobile number is not valide", "All information is required", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
我该怎么办?
更新
如果我写手机没有。在01
之前,对于超过11位的数字,它会通知验证mgs(Not valid mobile no.!)
。好吧,我使用过,当13位数时失败。它错误地改变了验证错误。
这是我的代码:
<input type="text" placeholder="Enter bKash wallet number"
class="form-control" ng-model="BkashWalletNo" ng-disabled="AutoConfirmed"
name="BkashWalletNo" ng-pattern="/^(?:\+88|01)?\d{11}\r?$/" />
<p class="help-block" ng-show="form.BkashWalletNo.$error.pattern">Not valid mobile no.!</p>
答案 0 :(得分:7)
您可以使用任何一种给定的解决方案来验证孟加拉国的手机号码。
正则表达式1
/(^(\+88|0088)?(01){1}[56789]{1}(\d){8})$/
正则表达式2
/(^(\+8801|8801|01|008801))[1|5-9]{1}(\d){8}$/
正则表达式3
(^([+]{1}[8]{2}|0088)?(01){1}[5-9]{1}\d{8})$
允许的手机号码样本
8801812598624
008801812598624
01812598624
01712598624
01672598624
01919598624
等
答案 1 :(得分:4)
我看到你已经尝试过,但你的正则表达式并不准确。
$
锚点的结尾(因此,即使&#34; abc&#34;最后也不会阻止IsMatch
返回true
)< / LI>
01
因此创建了一个字符类,这意味着 0
或1
。为了创建一个正则表达式,该正则表达式将验证一个字符串,该字符串具有&#34;可选+88或01之前的11位&#34;,您需要以下内容:
@"^(?:\+88|01)?\d{11}$"
<强>更新强>
如果您想使用此正则表达式验证孟加拉国电话号码,模式中没有任何变化(仅\r?
完全是多余的),但如果您计划在{{1}之后允许13或11位数,则 }或+88
,您需要使用替换:
01
请参阅demo
答案 2 :(得分:4)
可在此处找到更好的答案:Validate Mobile number using regular expression
这篇文章有两个很好的答案。他们的总结
应该很简单:
^(?:\+?88|0088)?01[15-9]\d{8}$
^
- 从字符串的开头(?:\+?88|0088)?
- 可选的88
,其中可能从+
或可选0088
开始01
- 强制01
[15-9]
- “1或5或6或7或8或9”\d{8}
- 8位数字$
- 字符串工作示例:http://rubular.com/r/BvnSXDOYF8
下载此免费图书馆libphonenumber from Google。它可用于Java,C ++和Javascript,但也有PHP的分支,我相信,其他语言。
+880告诉我它是country code for Bangladesh。让我们尝试使用Java中的以下代码验证示例数字:
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)。
答案 3 :(得分:0)
国家/地区代码不用于本地通话,但最初必须为0。
所以正则表达式如下所示:
^(((\+|00)?880)|0)(\d){10}$
答案 4 :(得分:0)
使用此正则表达式“ ^(?:+ 88 | 88)?(01 [3-9] \ d {8})$”可以覆盖孟加拉国的所有移动运营商,例如:
示例:
String mobileNumber ="01715254815";
if(mobileNumber.matches("^(?:\\+88|88)?(01[3-9]\\d{8})$")){
System.out.println("Yes valid");
}
答案 5 :(得分:0)
我的 JavaScript 解决方案,适用于孟加拉语所有手机号码验证,带有额外的孟加拉语到英语转换。此解决方案也适用于孟加拉语号码
valid_mobile('+8801736458080');
/* Output "01736458080" */
valid_mobile('8801736458080');
/* Output "01736458080" */
valid_mobile('01736458080');
/* Output "01736458080" */
valid_mobile('+৮৮০১৭৩৬৪৫৮০৮০');
/* Output "01736458080" */
/*
* Validate Bangladeshi mobile number
* @author: Lincoln Mahmud
* @company: Purple Patch
*/
function valid_mobile ( value ) {
/*When value not number then try to convert bangla to english number*/
if (isNaN(value)) {
value = translteBanglaToEngNum(value);
}
valid_number = value.match("(?:\\+88|88)?(01[3-9]\\d{8})"); /*Regular expression to validate number*/
/*When valid return without +88/88 number if exist*/
if(valid_number){
return valid_number[1]; /*valid number method return 3 with actual input*/
} else {
return false; /*return false when not valid*/
}
}
/*
* Bangla to English number conversion method
* @author: Lincoln Mahmud
* @company: Purple Patch
*/
function translteBanglaToEngNum( num_str ){
var bengali = {"০":0, "১":1, "২":2, "৩":3, "৪":4, "৫":5, "৬":6, "৭":7, "৮":8, "৯":9};
var changed_nun='';
num_str.toString().split('').forEach(l => {
if(isNaN(l)){changed_nun += bengali[l];}else{changed_nun +=l;}
});
return changed_nun;
}
答案 6 :(得分:0)
此正则表达式将在以下条件下有效
[+,' '][\d]{7}[-,$,' ',][\d]{0,6}|[+,' '][\d]{3}[,-,$,' ',][\d]{4}[-,$,' ',][\d]{0,6}|[(][(+,' '][\d]{3}[)][-,$,' '][\d]{4}\b[-,$,' ',][\d]{0,6}|[[+,' '][\d]{3}[-,$,' ',][\d]{4}[-,$,' ',][\d]{0,6}|[(][(+,' '][\d]{3}[)][-,$,' '][\d]{4}\b[-,$,' ',][\d]{0,6}|[+' '][\d]{0,13}|[+,' '][\d]{0,7}[-,$,' ',][\d]{0,6}