数字加符号组合的多组合正则

现在公司有个需求是:前面是任意数字后面是任意英文符号的组合,并且n个此组合,例如:1&3%符合,12%3不符合,&3%4不符合。
这种的正则表达式怎么写啊?求大神指教

阅读 2.2k
2 个回答
var reg = /^(\d+[~!@#$%^&*()_+]+)+$/
reg.test("1&3%")
//true
reg.test("12%3")
//false
reg.test("&3%4")
//false

英文符号不够的话可以自己再补充

你所谓的任意数字是指1个数字还是1个以上的数字?
如果是1个数字则如下,否则就是\d变为\d+

const RG1=/^(\d[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F])+$/
const RG2=/^(\d[`~!@#$%^&*()-_=+;:'",<.>?[{}\]\\\|\/])+$/
RG1.test("1&3%") // true
RG2.test("1&3%") // true

RG1.test("0`1~2!3@4#5$6%7^8&9*0(1)2-3_4=5+7[8{9]0}1\\2|3;4:5'6\"7,8<9.0>1/2?") // true
RG2.test("0`1~2!3@4#5$6%7^8&9*0(1)2-3_4=5+7[8{9]0}1\\2|3;4:5'6\"7,8<9.0>1/2?") // true

RG1.test("12%3") // false
RG2.test("12%3") // false

RG1.test("12%3^") // false
RG2.test("12%3^") // false

RG1.test("&3%4") // false
RG2.test("&3%4") // false
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题