📅  最后修改于: 2023-12-03 14:54:52.747000             🧑  作者: Mango
正则表达式是一种强大的字符串处理工具,可以用来验证输入的格式、搜索和替换字符串等操作。在 JavaScript 中,使用正则表达式来匹配数字可以帮助我们处理数字输入、验证数字格式等问题。
正整数的正则表达式:
/^[1-9]\d*$/
解释:
^
表示字符串的开始。[1-9]
匹配 1-9 中的任何一个数字。\d*
匹配任意数量的数字。$
表示字符串的结尾。示例:
const pattern = /^[1-9]\d*$/;
console.log(pattern.test('123')); // true
console.log(pattern.test('0')); // false
正数的正则表达式:
/^[1-9]\d*\.?\d*$/
解释:
^
表示字符串的开始。[1-9]
匹配 1-9 中的任何一个数字。\d*
匹配任意数量的数字。\.?
匹配可选的小数点。\d*
匹配任意数量的数字。$
表示字符串的结尾。示例:
const pattern = /^[1-9]\d*\.?\d*$/;
console.log(pattern.test('0.123')); // true
console.log(pattern.test('123')); // true
console.log(pattern.test('-123')); // false
console.log(pattern.test('123.')); // true
console.log(pattern.test('0')); // false
负数的正则表达式:
/^-?[1-9]\d*\.?\d*$/
解释:
^
表示字符串的开始。-?
匹配可选的负号。[1-9]
匹配 1-9 中的任何一个数字。\d*
匹配任意数量的数字。\.?
匹配可选的小数点。\d*
匹配任意数量的数字。$
表示字符串的结尾。示例:
const pattern = /^-?[1-9]\d*\.?\d*$/;
console.log(pattern.test('-123')); // true
console.log(pattern.test('123')); // true
console.log(pattern.test('0')); // true
console.log(pattern.test('0.123')); // true
console.log(pattern.test('123.')); // true
console.log(pattern.test('1.23e+3')); // false
科学计数法表示的数字的正则表达式:
/^-?[1-9]\d*\.?\d+([eE][-+]?[1-9]\d*)?$/
解释:
^
表示字符串的开始。-?
匹配可选的负号。[1-9]
匹配 1-9 中的任何一个数字。\d*
匹配任意数量的数字。\.?
匹配可选的小数点。\d+
匹配一个或多个数字。([eE][-+]?[1-9]\d*)?
匹配可选的科学计数法表示,其中 [eE]
匹配 e
或 E
,[-+]?
匹配可选的符号, [1-9]\d*
匹配一个或多个非零数字。$
表示字符串的结尾。示例:
const pattern = /^-?[1-9]\d*\.?\d+([eE][-+]?[1-9]\d*)?$/;
console.log(pattern.test('123.45')); // true
console.log(pattern.test('1.23e+3')); // true
console.log(pattern.test('-1.23E-4')); // true
console.log(pattern.test('123.')); // false
console.log(pattern.test('.45')); // false
console.log(pattern.test('1.2e')); // false
使用正则表达式来匹配数字可以解决很多数字格式处理的问题。上面提供的几个例子是常见的数字格式,但不一定涵盖所有情况,根据实际需要,可以根据这些例子修改或衍生出更复杂的正则表达式。