JS中的正则表达式

一个字符串,里面包含一个十一位电话号码,比如a!#13822228888aaa或者13822228888a/.这样的,应该如何匹配,字符串有什么都可以,但是一定要有一个连续的十一位数字,不能有十二位这样的,这个十一位数字的前和后都不能是数字

阅读 2.8k
4 个回答

/(.?\D\d{11}\D.?)|(\d{11}\D.?)|(.?\D\d{11})/这个应该可以

/^1[3568]\d{9}$/

以1开头第二个数为3或5或6或8组成的11位数字

这个直接用正则不是特别好,可以先使用正则贪婪匹配出所有的数字。然后判断数字的长度是否为11;
例:

var numbers = "13822228888945aaa13211111111da".match(/\d*/gi);
var number11 = numbers.filter((value,index)=>{
    return value.length === 11;
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题