邮编番号的正则表达式,所有字符串必须尽可能的包含下述

新手上路,请多包涵

一个字符串必须包含下面这些可能


字符串 说明
123, 3位数字加上一个逗号
123 3位数字什么都不加
,123 逗号加上一个3位数字
1234567, 7位数字加上一个逗号
1234567 7位数字什么都不加
,1234567 逗号加上一个7位数字

预想值 正确与否
123 正确
1234 错误
123,1234 错误
,123 正确
,123, 正确
123,1234567, 正确

上述数字3位和7位都是可以,但是其他位数就不行

阅读 4.1k
2 个回答

这个正则表达式真的好奇怪,不过貌似还是有办法的:

var reg = /^,?(\d{3}|\d{7})(,\d{3}|,\d{7})*,?$/
console.log(reg.test('123'))
console.log(reg.test('1234'))
console.log(reg.test('123,1234'))
console.log(reg.test(',123'))
console.log(reg.test(',123,'))
console.log(reg.test('123,1234567,'))
/^(,?(\d{7}|\d{3})(?!\d),?)+/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进