5509harry 2021-08-25 15:28 采纳率: 100%
浏览 620
已结题

正则表达式 匹配正负整数和正负小数或者空

需求如下
1.整数
2.小数
3.负数
4.不可以只带负号或者小数点或者[-.]
5.可以为空
6.不可以有类似[0.][.0]
7.整数位限制在5位,负数位要限制在2位

求各位帮忙

  • 写回答

6条回答 默认 最新

  • Pliosauroidea 2021-08-26 08:25
    关注

    已私聊解决

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • CSDN专家-showbo 2021-08-25 18:05
    关注

    符合楼主的要求,包括空字符,不过第7点要求是不是搞错了,负数位?小数位吧。。有帮助麻烦点个采纳【本回答右上角】,谢谢~~

    img

    正则为:

    ^(-?\d{1,5}(\.\d{1,2})?)?$
    
    

    以下为js测试

        
        var re = /^(-?\d{1,5}(\.\d{1,2})?)?$/
        console.log(re.test('1234'))//true,整数且整数位未超过5位
        console.log(re.test('1.2'))//true,小数
        console.log(re.test('-12.34'))//true,负数
        console.log(re.test('-'))//false,单独-
        console.log(re.test('.'))//false,单独.
        console.log(re.test('-.'))//false,单独.
        console.log(re.test('-0.'))//false
        console.log(re.test('0.'))//false
        console.log(re.test('.0'))//false
        console.log(re.test(''))//true,可以为空
        console.log(re.test('111235.12'))//false,整数位超5位
        console.log(re.test('-0.123'))//false,小数位超2
    评论
  • StjpStjp 2021-08-25 15:45
    关注
    如果我的回答对你有帮助,请点击旁边的采纳按钮,谢谢
    (纯手工码出来很累的,求采纳)

    这其实很简单,只要自己对应链接就行了

    ^[1-9]\d*$    //匹配正整数
    ^-[1-9]\d*$   //匹配负整数
    ^-?[1-9]\d*$   //匹配整数
    ^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
    ^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
    ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
    ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
    ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
    ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0
    评论
    1人已打赏
  • Pliosauroidea 2021-08-25 15:37
    关注

    (-?[\d]{1,5}(.?[\d]{1,2})?)?\n

    评论
  • 5509harry 2021-08-25 16:11
    关注

    以下是过滤标本,不可的就是不匹配的,空值就是要匹配空值
    (空值)
    0
    0.11
    12345
    -12345
    -0.11
    -(不可)
    .(不可)
    123456(不可)
    0.123(不可)
    .0(不可)
    0.(不可)
    -.(不可)

    评论
  • 凡小少 2021-08-25 17:17
    关注

    ^(([0-9][1-9]{1,4})+(.[0-9])?)|\s|[0-9]|((-\d{1,2})+(.[0-9])?)$ 觉得帮到你的话点下采纳

    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 赞助了问题酬金 8月25日
  • 创建了问题 8月25日

悬赏问题

  • ¥40 找同学帮敲Python代码
  • ¥15 MYSQL 订单的商品明细重复计算问题
  • ¥15 微信实时共享位置修改
  • ¥100 TG的session协议号转成直登号号后客户端登录几分钟后自动退出设备
  • ¥50 共模反馈回路的小信号增益
  • ¥15 arduino ssd1306函数与tone函数放歌代码不兼容问题
  • ¥70 0.96版本hbase的row_key里含有双引号,无法deleteall
  • ¥15 诊断性META分析合并效能的检验
  • ¥15 请问abb根据色块判断奇偶数并根据批次号放入仓储
  • ¥66 开发PC客户端一定也要开发上位机吗?