JavaScript 正则表达式匹配数字
JavaScript 是一种广泛使用的脚本语言,用于在网页上实现各种交互功能。其中,正则表达式是一种非常强大的工具,用于在字符串中查找和匹配特定的模式。本文将重点介绍如何使用 JavaScript 正则表达式来匹配数字。
正则表达式基础
正则表达式由一系列字符和元字符组成,用于定义搜索模式。在 JavaScript 中,我们可以使用正则表达式字面量或者构造函数来创建正则表达式对象。例如,/pattern/
是一个正则表达式字面量,new RegExp('pattern')
是一个正则表达式构造函数。
在正则表达式中,一些常见的元字符有:
\d
:匹配任意数字(等价于[0-9]
)\D
:匹配任意非数字字符(等价于[^0-9]
)\w
:匹配任意字母数字字符(等价于[A-Za-z0-9_]
)\W
:匹配任意非字母数字字符(等价于[^A-Za-z0-9_]
)\s
:匹配任意空白字符(包括空格、制表符、换行符等)\S
:匹配任意非空白字符.
:匹配除换行符外的任意字符*
:匹配前面的字符零次或多次+
:匹配前面的字符一次或多次?
:匹配前面的字符零次或一次{n}
:匹配前面的字符恰好 n 次{n,}
:匹配前面的字符至少 n 次{n,m}
:匹配前面的字符至少 n 次,不超过 m 次
匹配数字的正则表达式
在 JavaScript 中,我们可以使用正则表达式匹配各种数字模式。下面是一些常见的示例:
1. 匹配整数
要匹配一个整数,可以使用正则表达式 /^-?\d+$/
。其中:
^
表示匹配字符串的开头-?
表示可选的负号\d+
表示匹配一个或多个数字$
表示匹配字符串的结尾
const regex = /^-?\d+$/;
console.log(regex.test('123')); // true
console.log(regex.test('-456')); // true
console.log(regex.test('0')); // true
console.log(regex.test('123.45')); // false
console.log(regex.test('abc')); // false
2. 匹配浮点数
要匹配一个浮点数,可以使用正则表达式 /^-?\d+(\.\d+)?$/
。其中:
^
表示匹配字符串的开头-?
表示可选的负号\d+
表示匹配一个或多个数字(\.\d+)?
表示可选的小数部分,其中\.
表示匹配小数点,\d+
表示匹配一个或多个数字$
表示匹配字符串的结尾
const regex = /^-?\d+(\.\d+)?$/;
console.log(regex.test('123.45')); // true
console.log(regex.test('-0.5')); // true
console.log(regex.test('0')); // true
console.log(regex.test('123')); // true
console.log(regex.test('abc')); // false
3. 匹配科学计数法表示的数字
科学计数法表示的数字包含一个数字和一个指数,可以使用正则表达式 /^-?\d+(\.\d+)?[eE]-?\d+$/
来匹配。其中:
^
表示匹配字符串的开头-?
表示可选的负号\d+
表示匹配一个或多个数字(\.\d+)?
表示可选的小数部分[eE]
表示匹配