zoukankan      html  css  js  c++  java
  • 《Vue.js》p102案例中的正则表达式的解析

    《Vue.js实战》 一书 p102 有一个判断参数值是否为数值的正则表达式,援引如下:

    function isValueNumber(value) {
                return (/(^-?[0-9]+.{1}d+$)|(^-?[1-9][0-9]*$)|(^-?0{1}$)/).test(value + '');
            }

    试解析如下:

    1)表达式中有 3 个子表达式

    2)第一个子表达式 

    ^-?[0-9]+.{1}d+$

    起始的脱子符^表示匹配的条件是行的开头。

    结尾处的 $符号表示匹配的行末尾。

    -?,表示匹配0到1个 -。

    字符组[0-9]+,表示 匹配0至9中的任意一个数字,后面的+号,表示匹配1个或无数个数字。

    .,表示转义 . 符号,匹配一个 .。

    后面的{1},表示匹配.的数量为1。

    d,表示匹配一个数字,后面的+号,表示匹配1个或无数个数字。

    2)第二个子表达式

    ^-?[1-9][0-9]*$

    首尾的^$含义同上。

    -?表示匹配0到1个 -。

    [1-9]匹配1到9中的任意一个数值。

    [0-9]匹配0至9中的任意一个数值。后缀*号,表示匹配数量为0到任意个。

    3)第三个表达式

    ^-?0{1}$

    表示匹配一个 - 符号。

    后跟一个0,数量为1。

  • 相关阅读:
    程序格式
    java数据类型
    java-helloworld
    原生字符串
    字符串常见操作19个操作
    字符串函数操作
    【字符串切片操作和range函数用法】
    【字符串拼接之两种方法】
    C#中ref和out的区别使用
    c语言内部函数、外部函数多文件编译总结(vs2015编译环境)
  • 原文地址:https://www.cnblogs.com/sx00xs/p/12677355.html
Copyright © 2011-2022 走看看