zoukankan      html  css  js  c++  java
  • 正则小数验证和去除中间空格

    <input type="text" id="con" style="200px;height:50px;" value="345.56"/>&nbsp;&nbsp;&nbsp;&nbsp;<button id="but" style="200px;height:50px;">start</button>
            
    <div id="result" style="background-color: #0099FF;"></div>
    <div id="result1" style="background-color: #26B33E;"></div>
    $(function(){
                    var $but = $("#but");
                    $but.on('click',function(){
                        var $con = $("#con").val();
                        var $result = $("#result");
                        var $result1 = $("#result1");
                        
                        var reg1 = /^(d+)(.d{1,2})?$/;
                        //必须整体都符合
                        //0: "345.56"整体结果
                        //1: "345"第一个小分组
                        //2: ".56"第二个小分组
                        
                        $result.html(reg1.exec($con));
                        //这里的显示结果会重复两次的原因是,将数组赋值给了它,这个数组包含了三项,整体结果,第一个小分组,第二个小分组,所以结果看起来是重复了两次其实是:
                        //res[0]->"345.56"    res[1]->"345"    res[2]->".56"
                        
                        var reg2 = /^(d+)(.d{1,2})?/;
                        //在没有$结束的情况下可以匹配到字符串中符合的部分,即使后面的不符合例如:345.56asdf和345.5656
                        //结果依然是(这样也许可以实现截取两位2而不四舍五入)
                        //0: "345.56"
                        //1: "345"
                        //2: ".56"
                        
    
                        var flag = reg2.test($con);
                        if(flag){
                            //输入为345.588888
                            //结果为345.58
                            $result1.html(reg2.exec($con)[0]);
                        }
    
                        
                        
                        var res = reg1.exec($con)
                        console.log(res,flag);
                        
                        
                        
    
    //var ary = [1,2,3,4,5];            
    //$result1.html(ary);//->12345
    
    
    
    
                    })
                    
                    
                    
                })
    value.replace(new RegExp(/( )/g), '-')

    去除中间的空格,替换为-,2020/6/10 10:57:10=>2020/6/10-10:57:10

    修饰符
    g:全局匹配
    i:忽略大小写匹配
    m:多行匹配

    量词元字符
    +:出现1到多次元字符
    ?:出现0到1次元字符
    *:出现0到多次元字符
    {n}:出现n次
    {n,}:出现n到多次
    {n,m}:出现n到m次

    特殊元字符
    :转义字符(普转特或特转普)
    .:除 之外的任意字符
    d:匹配0-9中任意字符
    D:匹配除0-9之外的任意字符
    :匹配换行符
    w:匹配0-9或字母或_中任意字符
    s:匹配空白字符
    :匹配边界符
    :匹配制表符
    :软空格
    x|y:匹配x或y中的任意一个字符
    [a-z]:匹配a-z中任意一个字符
    [^a-z]:匹配非a-z的字符
    [xyz]:匹配x或y或z中的一个字符
    [^xyz]:匹配非xyz的字符
    ():小分组,大正则中的小正则
    ^:以某个元字符开始
    $:以某个元字符结束
    ?::只匹配不捕获
    ?=:正向预查
    ?!:负向预查

  • 相关阅读:
    数组排序 -- 冒泡排序
    数组自带的函数(方法)
    京东官网轮播图的实现
    鼠标单击元素输出对应元素的索引号
    JavaScript中获取HTML元素的方式
    JavaScript数组的2种定义方式
    this关键字
    JavaScript中对象的3种定义方式
    Hadoop完整搭建过程(三):完全分布模式(虚拟机)
    Hadoop完整搭建过程(二):伪分布模式
  • 原文地址:https://www.cnblogs.com/liufeiran/p/12617852.html
Copyright © 2011-2022 走看看