这是关于正则表达式的问题,两个小作业,我不是很清楚自己写的对不对,求大神帮忙修改

i) numbers between 99 and 9999999 (inclusive) with optional commas (e.g. 1,250)

这个问题我自己是这么写的

/^(\d,\d{3},\d{3}|\d\d{0,3}\d{2,3}|\d,\d{3}|99)$/
但是我觉得写的不是很好,因为当0出现在开头也会被匹配进去。

ii) a national insurance number (e.g. XP145237B or GG540672Y),

^[A-Z0-9A-Z]*$
这个我测试的时候只能匹配一次,多次匹配的话就不行,问一下是什么原因?![图片

说明](https://img-ask.csdn.net/upload/201901/06/1546786772_994536.png)

2个回答

^(99|[1-9]((,(?=\d{3}(,|$)))?\d){2,6})$

^([A-Z][0-9A-Z]+(\s+|$))+$

let reg=/^(\d,\d{3},\d{3}|\d\d{0,3}\d{2,3}|\d,\d{3}|99)$/
reg.test('1,234') // true
reg.test(',234') // false
reg.test('1234,567') // false
reg.test('1,234567') // false

^([A-Z][0-9A-Z]+(\s+|$))+$

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐