2 pch600221 pch600221 于 2016.04.27 10:00 提问

关于正则表达式急在线等待大神回复

谁帮我改一个这个正则
/^([1-9]\d?-[1-9]\d?\,?|[1-9]\d?\,?){1,}$/
末尾不能以“,”结束,中间每个数字最多只能输入两位,谢谢了

8个回答

w172087242
w172087242   Ds   Rxr 2016.04.27 10:36
已采纳

/^[1-9]\d?(?:(?:(?:-[1-9]\d?)?\,[1-9]\d?)|(?:-[1-9]\d?))*$/
这个正则可以判断出你的格式,但是会出现15-11这样的数也能匹配成功

caozhy
caozhy   Ds   Rxr 2016.04.27 10:04
 \d修改为\d{1,2}
结尾加上 [^\,]
HKDeath
HKDeath   2016.04.27 10:45

/^[1-9]\d([\,-]\d{1,2})*$ / 试试这样

pch600221
pch600221   2016.04.27 10:10

我试了好像不行,还是我自己没弄对,不能直接用\d我的第一位数字不能为0

w172087242
w172087242   Ds   Rxr 2016.04.27 10:13

改成这样试试看:
/^([1-9]\d?-[1-9]\d?\,?|[1-9]\d?\,?)+$/

w172087242
w172087242   Ds   Rxr 2016.04.27 10:18

上面的不对,我重新帮你写了一个,应该能有帮助:
/^[1-9]\d?(\,[1-9]\d?)*$/

如果对你有帮助,希望结帖

pch600221
pch600221   2016.04.27 10:28

不行的,我的数据格式是这样的
1,22,47,10-12
10-12,1,22,47
1,3,10-12,15

pch600221
pch600221 回复little_how: 之前的还是有问题,可以这样输入1-2-3-4
一年多之前 回复
w172087242
w172087242 都是这样的数据了吗?
一年多之前 回复
pch600221
pch600221   2016.04.27 10:29

([1-9]\d?-[1-9]\d?\,?|[1-9]\d?\,?)+([1-9]\d?)
我改成这样可以限制最后一位,但控制不了数字必须是两位

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!