快乐人生_
2016-04-27 02:00
采纳率: 50%
浏览 1.4k

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • little_how 2016-04-27 02:36
    已采纳

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

    已采纳该答案
    打赏 评论
  • threenewbee 2016-04-27 02:04
     \d修改为\d{1,2}
    结尾加上 [^\,]
    
    打赏 评论
  • 快乐人生_ 2016-04-27 02:10

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

    打赏 评论
  • little_how 2016-04-27 02:13

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

    打赏 评论
  • little_how 2016-04-27 02:18

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

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

    打赏 评论
  • 快乐人生_ 2016-04-27 02:28

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

    打赏 评论
  • 快乐人生_ 2016-04-27 02:29

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

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

    打赏 评论

相关推荐 更多相似问题