我需要09-8222333
等电话号码字段的验证表达式。
我尝试使用#^0\d([\d]{0,9})([-]{0,9})\d{7}$#
,但它没有用。
答案 0 :(得分:1)
我想在mandetory开头的0
,所以你可以使用以下正则表达式:0\d-\d{7}
登记regex101。
\d
表示[0-9],{num}
表示num
次重复
答案 1 :(得分:0)
这样的事情应该可行:
/[0-9]{2}-[0-9]{7}/
[0-9]{2}
将0
and
9之间的任意数字恰好匹配两次,-
将匹配单个连字符,然后[0-9]{7}
将匹配任何数字在0
和9
之间恰好7
次。
您还可以使用问题中的\d
数字标识符替换[0-9]
答案 2 :(得分:0)
0\d-\d{7}
是正确的。
您可以尝试\b0\d-\d{7}\b
以避免匹配" 09-8222333"在" 3209-8222333435"。
将\b0\d[- ]\d{7}\b
用于带空格而非短划线的数字,例如" 09 8222333"。
使用\b((0\d[- ]\d{7})|(0\d[- ]\d{3}[- ]\d{4}))\b
添加对前三个符号之后用ether短划线或空格分隔的数字的支持,例如" 06 455 3535或04 242-3424"。
在http://regexr.com/了解有关javascript正则表达式的正则表达式,但对于c#也是如此。 请参阅http://www.tutorialspoint.com/csharp/csharp_regular_expressions.htm上的c#示例。
答案 3 :(得分:0)
此处:https://regex101.com/r/jiSGUV/1
或只是复制正则表达式:/^(?:(?:(\+?972|\(\+?972\)|\+?\(972\))(?:\s|\.|-)?([1-9]\d?))|(0[23489]{1})|(0[57]{1}[0-9]))(?:\s|\.|-)?([^0\D]{1}\d{2}(?:\s|\.|-)?\d{4})$/
答案 4 :(得分:0)
对于android
public static boolean validateTelAndMobileNo(String mobileNo){
//String test = "00911234567891";
return !(!mobileNo.matches("(00972|0|\\+972)[5][0-9]{8}") && !mobileNo.matches("(00970|0|\\+970)[5][0-9]{8}") && !mobileNo.matches("(05[0-9]|0[12346789])([0-9]{7})") && !mobileNo.matches("(00972|0|\\+972|0|)[2][0-9]{7}"));
}
for VB.net
Public Function validateMobileNo(m As String) As boolean
If String.IsNullOrWhiteSpace(m) Then Return false
return not (Not Regex.IsMatch(m, "(00972|0|\\+972)[5][0-9]{8}") AndAlso Not Regex.IsMatch(m, "(00970|0|\\+970)[5][0-9]{8}") AndAlso Not Regex.IsMatch(m, "(05[0-9]|0[12346789])([0-9]{7})") AndAlso Not Regex.IsMatch(m, "(00972|0|\\+972|0|)[2][0-9]{7}"))
End Function
这将验证以色列和巴勒斯坦的手机号码和电话号码 您可以轻松调整以移除巴勒斯坦移动电话和陆地电话