码迷,mamicode.com
首页 > 其他好文 > 详细

正则小数验证

时间:2020-04-02 10:35:54      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:修饰符   多行   忽略   pre   验证   star   一个   class   val   

<input type="text" id="con" style="width:200px;height:50px;" value="345.56"/>&nbsp;&nbsp;&nbsp;&nbsp;<button id="but" style="width: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




                })
                
                
                
            })

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

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

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

正则小数验证

标签:修饰符   多行   忽略   pre   验证   star   一个   class   val   

原文地址:https://www.cnblogs.com/liufeiran/p/12617852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!