侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
WEB

js 使用正则表达式判断字符串是否为浮点数、整数等数字

Administrator
2024-04-19 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

1、整数

var regs=/^-?\d+$/;

var num1='-1';

  • var num2='1';

  • var num3='1.';

  • regs.test(num1);//true

  • regs.test(num2);//true

  • regs.test(num3);//false

2、正整数

var regs=/^\d+$/;

var num1='-1';

  • var num2='1';

  • var num3='1.';

  • regs.test(num1);//false

  • regs.test(num2);//true

  • regs.test(num3);//false

3、负整数 

var regs=/^-\d+$/;

var num1='-1';

  • var num2='1';

  • var num3='1.';

  • regs.test(num1);//true

  • regs.test(num2);//false

  • regs.test(num3);//false

4、浮点数

var regs=/^(-?\d+)(\.\d+)?$/;

var num1='-1.0';

  • var num2='1.0';

  • var num3='1.';

  • regs.test(num1);//true

  • regs.test(num2);//true

  • regs.test(num3);//false

5、正浮点数

var regs=/^(\d+)(\.\d+)?$/;

var num1='-1.0';

  • var num2='1.0';

  • var num3='1.';

  • regs.test(num1);//false

  • regs.test(num2);//true

  • regs.test(num3);//false

6、负浮点数 

var regs=/^(-\d+)(\.\d+)?$/;

var num1='-1.0';

  • var num2='1.0';

  • var num3='1.';

  • regs.test(num1);//true

  • regs.test(num2);//false

  • regs.test(num3);//false

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

有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下。

这里包括了数字验证实现与测试实例了,大家可参考。

js验证数字正则表达式 

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

//检测是否为数字和小写字母

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+)?$/;    

    return reg.test(a);

}

 

//检查是否整数

function isInt(a) {    

    var reg = /^-?d+$/;    

    return reg.test(a);

}

 

//去掉非法字符

function trim(str) {    

    return str.replace(/^s+|s+$/g, '');

}

jquery验证数字的正则表达式集

1

2

3

4

5

6

7

8

9

10

11

12

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验证

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

验证数字:^[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等数据类型。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

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;   

    }   

}

输入框验证数字字母、汉字

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

//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;            

    }        

}

html部分

1

2

3

4

<form id="form1" method="post">            

    <input id="txtName" onblur="return checkInput()" />            

    <div id="lblMsg"></div>        

</form>

数字的判断可以用isNaN函数

1

2

3

4

if(isNaN(document.myform.name.value)){

    alert("输入必须是数字");

    return false;

}

0

评论区