正则实现匹配区号,但是不要有400

可以让用户输入区号,如028-556321 但是不让用户输入400开头的电话号码,正则咋写啊?

我使用了/^[^(400)]\\d{2,4}-\\d{3,5}/这种,但是开头的 [^(400)] 其实就相当于 [^400]也就是4和0都不能作为开头,不是匹配的 400,所以想问下要咋做啊。

注: 这里的 \d 显示的时候会显示成 \\d ,大家忽略哈。

阅读 2.3k
2 个回答
/^(?!400)\d{2,4}-\d{3,5}/

这里有个问题就是400x-12345这种也不能匹配

印象中区号的长度是3~4位,座机部分7~8位。

var regExp = /^(?!400)\d{3,4}-\d{7,8}$/;

console.log(regExp.test('400-1234567')); // false
console.log(regExp.test('021-1234567')); // true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题