正则表达式

当前位置:正则表达式 > js

js正则表达式匹配数字

正则表达式是辅助字符串进行操作的,但是其中也不乏数字的出现。比如平时输入的账号等都和数字密切相关,相信很多人还不会用正则表达式去进行匹配。接下来我们就正则表达式的使用进行介绍。然后就匹配数字为大家带来详细的正则表达式的方法,具体内容一起往下看。

1. 正则表达式使用

使用正则表达式匹配字符串最基本的方法就是正则对象的exec方法:

该方法返回一个数组,数组的第一个元素是与正则表达式匹配的文本,后面的元素依次是与正则表达式若干个子表达式相匹配的文本(如果有的话)。若匹配失败,则返回null

exec方法返回的数组除了length还有两个属性:

index:表示匹配的文本的第一个字符的位置

input:存放被检索的字符串

除了用exec方法,我们还可以使用String对象的match方法,它的使用方法和exec类似

1

2

3

4

5

var str="0hello1";

str.match(/\d+/);

//["0", index: 0, input: "0hello1", groups: undefined]

str.match(/\d+/g);

//["0", "1"]

2.匹配数字

(1)用户名正则

1

2

3

4

//用户名正则,4到16位(字母,数字,下划线,减号)

var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

//输出 true

console.log(uPattern.test("caibaojian"));

(2)密码强度正则

1

2

3

4

//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

//输出 true

console.log("=="+pPattern.test("caibaojian#"));

(3)整数正则

1

2

3

4

5

6

7

8

9

10

11

12

//正整数正则

var posPattern = /^\d+$/;

//负整数正则

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

//整数正则

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

//输出 true

console.log(posPattern.test("42"));

//输出 true

console.log(negPattern.test("-42"));

//输出 true

console.log(intPattern.test("-42"));

 

1.使用括号的子字符串匹配方法

一个正则表达式模式使用括号,将导致相应的子匹配被记住。例如,/a(b)c / 可以匹配字符串“abc”,并且记得“b”。回调这些括号中匹配的子串,使用数组元素[1],……[n]。

使用括号匹配的子字符串的数量是的。返回的数组中保存所有被发现的子匹配。下面的例子说明了如何使用括号的子字符串匹配。

下面的脚本使用 replace() 方法来转换字符串中的单词。在匹配到的替换文本中,脚本使用替代的$1, $2 表示第一个和第二个括号的子字符串匹配:

const re = /(\w+)\s(\w+)/;
const str = "John Smith";
const newstr = str.replace(re, "$2, $1");
console.log(newstr);   // 输出 "Smith, John"

2.匹配数字和小数实例

//可以是整数也可以是浮点数
//正数正则
var posPattern = /^\d*\.?\d+$/;
//负数正则
var negPattern = /^-\d*\.?\d+$/;
//数字正则
var numPattern = /^-?\d*\.?\d+$/;
console.log(posPattern.test("42.2"));
console.log(negPattern.test("-42.2"));
console.log(numPattern.test("-42.2"));
以上是js正则表达式匹配数字的方法,关键是先掌握正则表达式的使用方法,然后在处理匹配数字上就变得非常容易了。

相关文章
苏ICP备2022026517号-2  |   苏公网安备 32081202000316号
淮安先皓网络科技有限公司 © 版权所有  联系我们