JS正则表达式验证数字(很全)

正则表达式是一种描述字符模式的方法,它可以直接使用在字符串中进行匹配和操作,JS中内置了RegExp对象用于操作正则表达式。验证数字是正则表达式的一项基本应用,本文将详细介绍JS正则表达式验证数字的方法和应用。

一、正则表达式基础

正则表达式是由普通字符(包括大小写字母、数字、标点符号等)和元字符(用于表示特殊含义的字符)组成的一种模式。在JS中,正则表达式使用双斜杠(//)包含起来,如下所示:

```JavaScript

var regExp = /pattern/;

```

其中pattern为我们要匹配的模式。JS中常用的元字符有:

| 元字符 | 匹配内容 |

| :----: | :------: |

| \d | 数字 |

| \D | 非数字字符 |

| \w | 单词字符 |

| \W | 非单词字符 |

| \s | 空格或制表 |

| \S | 非空格字符 |

| . | 任意字符 |

| * | * |

| + | + |

| ? | ? |

其中*、+、?是量词元字符,表示匹配前一个字符0次、1次或0或1次。

二、验证整数

验证整数的正则表达式比较简单,只需用\d+表示连续多个数字即可,示例代码如下:

```JavaScript

// 验证整数

function isInteger(str) {

var regExp = /^\d+$/;

return regExp.test(str);

}

```

其中^表示匹配字符串开头,$表示匹配字符串结尾,\d+表示匹配连续多个数字。

三、验证浮点数

验证浮点数的正则表达式相对复杂,可使用以下代码:

```JavaScript

// 验证浮点数

function isFloat(str) {

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

return regExp.test(str);

}

```

其中-?表示负号可选,\d+表示整数部分,(\.\d+)?表示小数部分可选,()表示捕获子表达式。这里需要注意的是,小数点后至少要有一位数字,否则会认为是整数。

四、验证正数

验证正数的正则表达式可以使用以下代码:

```JavaScript

// 验证正数

function isPositive(str) {

var regExp = /^[1-9]\d*(\.\d+)?$/;

return regExp.test(str);

}

```

其中^[1-9]表示第一位必须为1到9之间的数字,\d*表示后面可跟0到多个数字,(\.\d+)?表示小数部分可选。

五、验证负数

验证负数的正则表达式可以使用以下代码:

```JavaScript

// 验证负数

function isNegative(str) {

var regExp = /^-[1-9]\d*(\.\d+)?$/;

return regExp.test(str);

}

```

与验证正数类似,只需在开头加上负号即可。

六、验证整数范围

有时需要验证一个整数是否在某个范围之内,可以使用以下代码:

```JavaScript

// 验证整数范围

function isInRange(str, min, max) {

var regExp = new RegExp("^[" + min + "-" + max + "]$");

return regExp.test(str);

}

```

其中new RegExp()表示动态生成正则表达式,^和$表示匹配字符串开头和结尾,[]表示匹配字符集,-表示范围,这里需要注意的是,如果用两个字符表示范围,中间不能有空格。

七、应用案例

以下是一些应用案例,展示JS正则表达式验证数字的使用场景和方法。

1. 验证手机号码

```JavaScript

function isPhoneNum(phoneNum) {

var regExp = /^1[3-9]\d{9}$/;

return regExp.test(phoneNum);

}

```

2. 验证身份证号码

```JavaScript

function isIdCardNum(idCardNum) {

var regExp = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

return regExp.test(idCardNum);

}

```

3. 验证邮箱地址

```JavaScript

function isEmail(email) {

var regExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

return regExp.test(email);

}

```

4. 验证URL地址

```JavaScript

function isUrl(url) {

var regExp = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/;

return regExp.test(url);

}

```

5. 验证IP地址

```JavaScript

function isIP(ip) {

var regExp = /^(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])$/;

return regExp.test(ip);

}

```

八、总结

本文介绍了JS正则表达式验证数字的基础知识、常用正则表达式及应用案例,希望读者能够了解JS正则表达式的应用和使用方法,提高自己的编程水平和能力。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(107) 打赏

评论列表 共有 1 条评论

琼梦 1年前 回复TA

开心无烦恼,好运跟着跑。家人共团聚,天伦乐逍遥。朋友相扶持,心情不寂辽。事业风水顺,金银撑腰包。好运从天降,生活步步高!

立即
投稿
发表
评论
返回
顶部