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

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

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

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

阅读 2.1k
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
推荐问题
宣传栏