正则表达式(国际电话号码验证)

要求1.如果存在'+'号,必须在第一位2.如果存在'(',必须存在')'3.'-'可以存在任意位置,但不能是第一位和最后一位4.可以存在空格5.必须有数字6.长度不限7.... 要求
1.如果存在'+'号,必须在第一位
2.如果存在 '(' ,必须存在 ')'
3.'-'可以存在任意位置,但不能是第一位和最后一位
4.可以存在空格
5.必须有数字
6.长度不限
7.出现其他符号不能通过验证

这是我想的国际电话验证了,大家有什么好的想法没,哪里错了可以指出,最好有正则表达式。
谢谢
展开
 我来答
仁昌爱娱乐
高粉答主

2020-05-11 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459857

向TA提问 私信TA
展开全部

正则表达式(国际电话号码验证)为regularEx= "^(((\\+\\d{2}-)?0\\d{2,3}-\\d{7,8})|((\\+\\d{2}-)?(\\d{2,3}-)?([1][3,4,5,7,8][0-9]\\d{8})))$"。

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

扩展资料:

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

正则表达式灵活性、逻辑性和功能性非常强,可以迅速地用极简单的方式达到字符串的复杂控制。给定一个正则表达式和另一个字符串,可以根据给定的字符串判断是否符合正则表达式的过滤逻辑(称作“匹配”),也可以通过正则表达式,从字符串中获取想要的特定部分。

albumin
推荐于2017-11-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2394万
展开全部
^(\s*\+?\s*(?<leftp>\()?\s*\d+\s*(?(leftp)\)))(\s*-\s*(\(\s*\d+\s*\)|\s*\d+\s*))*\s*$

正则表达式如上,说明一下,如果在\本身具有转义作用的语言中使用,一个\要写成两个,写成\\

在一对‘(’和')'中只能是连续的数字

这个正则已经经过简单的测试,不过测试时命名分组是写成?P<name>的,在大部分语言中命名分组就是?<name>,和上面的写法一样

追问


true 或 false没有弹出来,应该是正则表达式引用不对,不知道哪里错了。

请再帮帮忙吧,谢谢

本来想贴上代码,但是字数被百度限制了,只能贴图片了o(╯□╰)o

追答
^\s*\+?\s*(\(\s*\d+\s*\)|\d+)(\s*-?\s*(\(\s*\d+\s*\)|\s*\d+\s*))*\s*$

javascript好像不支持命名分组,重新写了一个。可以支持在大的一串数字中部分数字有括号

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科精选
高粉答主

2020-12-28 · 每个回答都超有意思的
知道答主
回答量:60.8万
采纳率:14%
帮助的人:3.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式