zoukankan      html  css  js  c++  java
  • javascript正则表达式小数类型

    假设你要阅读并了解什么,能阅读。假设只需要结果,直接跳转到这篇文章的结尾。

    有使用前需求javascript正则表达式匹配小数类型,后来,他们已经写是不完全正确的识别。

    后来在网上找了很多,甚至包含一些老外的纯英文论坛什么的。发现都是错的。都不够全面。

    常见错误:

    1.   /^-?d+.d+$/   http://blog.csdn.net/xxd851116/article/details/4352011

    随便一看就知道,假设前面带+则错误。假设没有小数点则错误,假设00.123也不错报等等

    2./^[0-9]*[.][0-9]+$/ http://social.msdn.microsoft.com/Forums/en-US/1ffd9265-eafa-4897-b803-39194f35df5d/regular-expression-for-a-float-in-javascript?forum=jscript

    与上一个差点儿相同

    3. /^d*+(.d+)?

    $/与上一个同一个页面

    看起来有水平了很多,比方考虑到小数点及小数点后的内容可有可没有(即整数也能够,不不过纯小数)

    可是小数点前,00.123 也是能够的

    不行。

    4. /^[+-]?

    d+(.d+)?$/

    也是更好了,比方考虑到了前面的正负号。等。可是相同的小数点前。00.123 也是能够的


    不找很多其它了,大概也就是这样。

    -----------

    以下是我測试多次的一个写法:

    var regExp = /^[+-]?(0|([1-9]d*))(.d+)?$/g;
    var b = regExp.test(a);
    alert(b);


    解释:

    ^$分别匹配字符串的首尾

    [+-]? 表示字符串开头能够有 +或-或没有符号,且有的话仅仅能有一个

    0|[1-9]d* 这是小数点前的整数部分,表示能够为 (一个0 )  或者 (为一个第一位不为0的整数,但第一位以后能够为0)

    (.d+)? 是指小数点及小数点后面部分,不出现或出现一次

    g所有匹配,(好像没必要的)

    因此。完美匹配小数类型。





    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    uIP的ARP协议分析
    如何使函数不生成执行代码
    计算机网络基础
    [Hive
    [Hive
    [Hive
    [Hive
    [Hive
    [Hive
    [Hive
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4662436.html
Copyright © 2011-2022 走看看