正则匹配0-3000内的正整数或者三位小数

问题描述

匹配0-3000内的正整数或者三位小数(也就是小数部分不超过三位)
比如200.123, 12.23, 2.1,3000,21 ...都是okay的
但是1.1234,-12.12, -20, 3.,不是okay的(整数后面只跟一个点不okay)

问题出现的环境背景及自己尝试过哪些方法

^[0-9]+(\.[0-9]{0,3}|3000)?$
这个不能满足要求

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 4.1k
2 个回答

应该可以满足需求

/^[+]?(?:[12]\d{3}|3000|[1-9]\d{0,2}|0)(?:\.\d{1,3})?$/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题