zoukankan      html  css  js  c++  java
  • 正则表达式:网店中折扣价格-要求大于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})?))$/ 测试通过。
  • 相关阅读:
    封装

    如何通过命令行窗口查看sqlite数据库文件
    标签控件
    信息提示框
    循环
    数组
    switch
    成员局部变量
    变量
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/4523076.html
Copyright © 2011-2022 走看看