印度电话号码的正则表达式
本文关键字:正则表达式 电话号码 | 更新日期: 2023-09-27 18:26:56
am正在寻找印度电话号码的正则表达式
正则表达式应该允许以下所有格式。
对于没有的固定电话
0802404408
080-2404408
+91802404408
+91-802404408
对于无的移动设备
8147708287
08147708287
+918147708287
+91-8147708287
有人能帮我吗,提前谢谢
我的代码是
[RegexValidator("[0-9 -]*"
, MessageTemplateResourceName = "INVALID_PHONE"
, MessageTemplateResourceType = typeof(ValidatioinErrors))]
public string Phone
{
get { return phone; }
set { phone = value; }
}
public bool IsValid()
{
return Validation.Validate<Class_name>(this).IsValid;
}
public ValidationResults ValResults
{
get
{
return Validation.Validate<Class_name>(this);
}
}
对于这个验证问题,我刚刚提到
using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
在我的命名空间中,在UI部分,表达式运行良好,但在如上所述的代码中,如果我将值给定为080-2404408
您可以尝试
^'+?[0-9-]+$
在Regexr 上查看
重要的部分是用于字符串的开始和结束的锚^
和$
。我在开始时还添加了'+?
,以匹配可选的+
。+
需要转义,因为它是正则表达式中的一个特殊字符,之后的?
使其成为可选字符。
当然,这是一个非常简单的模式,请注意,例如"-----"也是有效的。
对于以下RegEx工作的示例:
/^(?:'+91(?:-)?|0'd{2,4}-|0|)'d{7,10}$/
导入remystr="quot;814770828708147708287+918147708287+91-814708287"quot"
print(re.findall(r'''b91-*''d{10}',mystr))