分享

JQuery数字类型验证正则表达式

 muyable 2015-11-08
  有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下这里包括了数字验证实现与测试实例了,大家可参考。

js验证数字正则表达式

 代码如下 复制代码

function istrue(a){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(a);
}

function   isNumeric(a)
{
    var   reg=/^(-|+)?d+(.d+)?$/
   return(reg.test(a));
}
//检查是否为正数
function   isUnsignedNumeric(a)
{
    var   reg=/^d+(.d+)?$/
    alert reg.test(a);
}
//检查是否为整数
function   isInteger(a)
{
    var   reg=/^(-|+)?d+$/
    return reg.test(a);
}
//检查是否为正整数
function   isUnsignedInteger(a)
{
    var   reg =/^d+$/
    return reg.test(a);
}

//检查是否数字
function isNum(a)
{
    var reg = /^d+(.d+)?$/;
    reg.test(a);
}

//检查是否整数
function isInt(a)
{
    var reg = /^-?d+$/;
    return reg.test(a);
}

 

//去掉非法字符
function trim(str)
{
    return str.replace(/^s+|s+$/g, '');
}


 

验证数字的正则表达式

jquery

 代码如下 复制代码
intege:"^-?[1-9]//d*$", //整数
intege1:"^[1-9]//d*$", //正整数
intege2:"^-[1-9]//d*$", //负整数
num:"^([+-]?)//d*//.?//d+$", //数字
num1:"^([1-9]//d*|0)$", //正数(正整数 + 0)
num2:"^-[1-9]//d*|0$", //负数(负整数 + 0)
decmal:"^([+-]?)//d*//.//d+$", //浮点数
decmal1:"^[1-9]//d*.//d*|0.//d*[1-9]//d*$",   //正浮点数
decmal2:"^-([1-9]//d*.//d*|0.//d*[1-9]//d*)$",  //负浮点数
decmal3:"^-?([1-9]//d*.//d*|0.//d*[1-9]//d*|0?.0+|0)$",  //浮点数
decmal4:"^[1-9]//d*.//d*|0.//d*[1-9]//d*|0?.0+|0$",   //非负浮点数(正浮点数 + 0)
decmal5:"^(-([1-9]//d*.//d*|0.//d*[1-9]//d*))|0?.0+|0$",  //非正浮点数(负浮点数 + 0)

js

 代码如下 复制代码
验证数字:^[0-9]*$
验证n位的数字:^d{n}$
验证至少n位数字:^d{n,}$
验证m-n位的数字:^d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^+?[1-9][0-9]*$
验证非零的负整数:^-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^d+$
验证非正整数(负整数 + 0) ^((-d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^w+$
验证用户密码:^[a-zA-Z]w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&',;=?$" 等字符:[^%&',;=?$x22]+
验证汉字:^[u4e00-u9fa5],{0,}$
验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^d{15}|d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?d+$
非负浮点数(正浮点数 + 0):^d+(.d+)?$
正浮点数 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$
负浮点数 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?d+)(.d+)?$

判断数据是double还float int等数据类型。

 代码如下 复制代码

function f_check_double(obj){
    var numreg;
    var value = obj.value;
    var strvaluetemp, strint, strdec;   
    var dtype = obj.eos_datatype;
    var pos_dtype = dtype.substring(dtype.indexof("(")+1,dtype.indexof(")")).split(",");
    var len = pos_dtype[0], prec = pos_dtype[1];
    try
    {       
        numreg =/[-]/;
        strvaluetemp = value.replace(numreg, "");
        numreg =/[+]/;
        strvaluetemp = strvaluetemp.replace(numreg, "");
        //整数
        if(prec==0){
            numreg =/[.]/;
            if(numreg.test(value) == true){
                f_alert(obj, "输入必须为整数类型");
                return false;   
            }           
        }       
        if(strvaluetemp.indexof(".") < 0 ){
            if(strvaluetemp.length >( len - prec)){
                f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
                return false;
            }       
        }else{
            strint = strvaluetemp.substr( 0, strvaluetemp.indexof(".") );       
            if(strint.length >( len - prec)){
                f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
                return false;
            }
            strdec = strvaluetemp.substr( (strvaluetemp.indexof(".")+1), strvaluetemp.length );   
            if(strdec.length > prec){
                f_alert(obj, "小数位不能超过"+  prec +"位");
                return false;
            }       
        }       
        return true;
    }catch(e){
        alert("in f_check_double = " + e);
        return false;
    }   
}


数字字母 汉字 JS验证 

 代码如下 复制代码

<html>
    <head>
        <title></title>
        <script language="javascript">
        //JS验证输入的内容
        function checkInput()
        {
            var txtName=document.getElementById("txtName");
            var lblMsg=document.getElementById("lblMsg");
           
            //创建正则表达式
            var re=/^[0-9a-zA-Z]{6,20}$/; //只输入数字和字母的正则
            //var re=/^[u4e00-u9fa5]{1,10}$/; //只输入汉字的正则
              
            if(txtName.value.search(re)==-1)
            {
                lblMsg.innerText = "请输入数字和字母,字符介于六到二十个。";
                //lblMsg.innerText = "请输入汉字,字符不能超过十个。";
                return false;
            }
            else
            {
                lblMsg.innerText = "√";
                return true;
            }
        }
        </script>
    </head>
    <body>
        <form id="form1" method="post">
            <input id="txtName" onblur="return checkInput()" />
            <div id="lblMsg"></div>
        </form>
    </body>
</html>

要说明的是div会自动换行,可以加入span他不会自动换行除非设置换行。

数字的判断可以用isNaN函数 if(isNaN(document.myform.name.value)){ alert("输入必须是数字"); return false;}


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约