首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >验证电话号码扩展的Regex

验证电话号码扩展的Regex
EN

Stack Overflow用户
提问于 2019-10-31 18:20:43
回答 2查看 90关注 0票数 1

我有要求验证电话号码(TN)扩展(只是扩展)。扩展可以是3-6位长,3位扩展,不应该跟随11。是的,其他事情,扩展不应该有特殊的字符和所有的零。

例如: 911,311等,

我们写了下面的一封信。

代码语言:javascript
运行
复制
(?!0+$)[0-9](?!.*11).[0-9]*$  

以上的问题是

对于311,211 ->验证是通过的.

对于38311,2311 -它们是4位和5位长度的扩展,它可以以'11‘作为后缀.但是上面的模式是不允许的。我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-31 19:29:29

你可以用:

代码语言:javascript
运行
复制
(?!^((0+)|(\d11))$)(?=^\d{3,6}$).*

  • (?!^((0+)|(\d11))$) --从头到尾,确保不是所有的零,也不是11
  • (?=^\d{3,6}$)后面的数字--从头到尾确保我们处理的是3到6 digits
  • .* --如果以前的验证通过了,那么获取所有的

都是安全的

https://regex101.com/r/eIVvvX/1

票数 0
EN

Stack Overflow用户

发布于 2019-10-31 18:44:44

为了检查非零,您可以简单地使用>操作符,对于其余的规则,您可以使用以下模式

代码语言:javascript
运行
复制
let data = ['911','311','38311','2311','000000','123111', '112']

data.forEach(v=>{
  console.log(v, '\t' , v > 0 && /^(?:(?:(?!11$)\d){3}|\d{4,6})$/.test(v)) 
})

对于非零检查,您也可以使用regex,但我个人更喜欢上面的方法。

^(?!^0+$)(?:(?:(?!11$)\d){3}|\d{4,6})$

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58649248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档