正则表达式:网店中折扣价格-要求大于0小于10,且允许保留一位小数点

  • 需求:网店中折扣价格-要求大于0小于10,且允许保留一位小数点

  • 需求分析:

1,)取值范围为(0,10),两端都是开区间;

2,)“可保留一位小数”,可以不包含小数,但如果包含小树就一定要仅包含一位小数。

  • 开发(javascript下):
  1. 第一步:0-10包含一位小数:/^\d(\.\d)?$/
  2. 第二步:排除特殊的0和0.0和10,这样的写法为:

/^[^0][^0.0][^10]\d(\.\d)?$/

测试下:是否是我们想要的结果呢?

  • 答案:no

具体原因,我也解释不清。

  • 换种思路:

既然0、0.0及10不是我们想要的,我们是否应该可以拆分为两种:

1,)[0.1,0.9]拆分为一组可取值的配置集合;

2,)[1.0,9.9]拆分为第二组可取值的配置集合;

3,)两个集合拼接在一起不就是我们想要结果。

  • 开发:
  1. [0.1,0.9]拆分为一组可取值的配置集合-javascript正则为:/^(0\.[1-9]{1})$/
  2. [1.0,9.9]拆分为第二组可取值的配置集合-javascript正则为:/^([1-9]{1})(\.\d{1})?$/
  3. [0.1,9.9]正则为:/^((0\.[1-9]{1})|(([1-9]{1})(\.\d{1})?))$/
  • 经过测试:/^((0\.[1-9]{1})|(([1-9]{1})(\.\d{1})?))$/ 测试通过。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值