目录
Check if String contains at least one Number in JavaScript
检查一个字符串是否包含 JavaScript 中的数字
使用该RegExp.test()
方法检查字符串是否至少包含一个数字,例如/\d/.test(str)
.
如果字符串至少包含一个数字,该test
方法将返回,否则返回。true
false
function containsNumber(str) { return /\d/.test(str); } console.log(containsNumber('hello 42 world')); // 👉️ true console.log(containsNumber('hello world')); // 👉️ false console.log(containsNumber('abc 123')); // 👉️ true
我们使用
RegExp.test
方法检查字符串是否包含数字。
正斜杠标记/ /
正则表达式的开始和结束。
该\d
字符匹配从 0 到 9 的任何数字。
test()
方法返回,否则返回。true
false
您还可以使用[0-9]
范围来检查字符串是否包含数字。
function containsNumber(str) { return /[0-9]/.test(str); } console.log(containsNumber('hello 42 world')); // 👉️ true console.log(containsNumber('hello world')); // 👉️ false console.log(containsNumber('abc 123')); // 👉️ true
\d
我们没有使用特殊字符,而是使用了[0-9]
字符类。
字符类用于指定我们要匹配的数字范围。
[0-9]
可读性。 \d
如果您在阅读正则表达式时需要帮助,请查看
MDN 提供的正则表达式速查表。
它包含一个表格,其中包含每个特殊字符的名称和含义以及示例。
检查一个字符串是否包含数字使用match()
或者,您可以使用该match()
方法。
match()
如果字符串包含数字,该方法将返回一个匹配数组,否则null
返回。
function containsNumbers(str) { return str.match(/\d/) !== null; } console.log(containsNumbers('hello 123')); // 👉️ true console.log(containsNumbers('hello world')); // 👉️ false console.log(containsNumbers('abc 123')); // 👉️ true
String.match方法将字符串与正则表达式进行匹配。
该方法返回一个包含匹配项(如果有)或未null
找到匹配项的数组。
我们的函数检查match()
方法是否没有返回null
以获得布尔结果。
如果您需要获取匹配项 或 的数组null
,请删除比较。
function containsNumbers(str) { return str.match(/\d/g); } // 👇️ [ '1', '2', '3' ] console.log(containsNumbers('hello 123')); // 👇️ null console.log(containsNumbers('hello world')); // 👇️ [ '1', '2', '3' ] console.log(containsNumbers('abc 123'));
第一个和第三个字符串包含数字,因此该match()
方法返回一个包含匹配项的数组。
第二个字符串不包含任何数字,因此该方法返回null
。
检查 String 在 JavaScript 中是否只包含数字
使用该test()
方法检查字符串是否仅包含数字,例如
/^[0-9]+$/.test(str)
.
如果字符串仅包含数字,则
该test
方法将返回,否则返回。true
false
function containsOnlyNumbers(str) { return /^[0-9]+$/.test(str); } console.log(containsOnlyNumbers('1234')); // 👉️ true console.log(containsOnlyNumbers('123hello123')); // 👉️ false console.log(containsOnlyNumbers('123.5')); // 👉️ false
我们使用
RegExp.test
方法来检查字符串是否只包含数字。
true
如果正则表达式在字符串中匹配,则
该方法返回,false
否则返回。
正斜杠标记/ /
正则表达式的开始和结束。
插入符^
匹配输入的开头,美元符号$
匹配输入的结尾。
[]
称为字符类,匹配从0
到的数字范围9
。加号+
与前面的项目(0-9
范围)匹配 1 次或多次。
请注意,0-9
也可以使用\d
(数字)特殊字符来编写范围。
function containsOnlyNumbers(str) { return /^\d+$/.test(str); } console.log(containsOnlyNumbers('1234')); // 👉️ true console.log(containsOnlyNumbers('123hello123')); // 👉️ false
特殊字符\d
相当于使用匹配任何数字[0-9]
,但我发现该范围更具可读性和直观性。
匹配由字符分隔的数字,例如十进制或逗号分隔
如果您还需要匹配小数或逗号分隔的数字,请在方括号之间添加您想要匹配的字符[]
。
function containsOnlyNumbers(str) { return /^[0-9.,]+$/.test(str); } console.log(containsOnlyNumbers('1234')); // 👉️ true console.log(containsOnlyNumbers('123hello123')); // 👉️ false console.log(containsOnlyNumbers('123.5')); // 👉️ true console.log(containsOnlyNumbers('123,5')); // 👉️ true
我们在方括号之间添加了一个点和一个逗号[]
以匹配这些字符。
您还可以在正则表达式中使用捕获组。
以下正则表达式检查字符串是否仅包含数字或由句点分隔的数字。
function containsOnlyNumbers(str) { return /^([0-9]+\.)*([0-9]+)$/.test(str); } console.log(containsOnlyNumbers('1234')); // 👉️ true console.log(containsOnlyNumbers('12.34')); // 👉️ true console.log(containsOnlyNumbers('12.34.5')); // 👉️ true console.log(containsOnlyNumbers('12,34')); // 👉️ false console.log(containsOnlyNumbers('12-34-56')); // 👉️ false
括号()
称为捕获组。
我们使用句点作为分隔符,但您可以使用任何其他值,例如逗号。
function containsOnlyNumbers(str) { return /^([0-9]+,)*([0-9]+)$/.test(str); } console.log(containsOnlyNumbers('1234')); // 👉️ true console.log(containsOnlyNumbers('12.34')); // 👉️ false console.log(containsOnlyNumbers('12.34.5')); // 👉️ false console.log(containsOnlyNumbers('12,34')); // 👉️ true console.log(containsOnlyNumbers('12,34,56')); // 👉️ true
变量字符在第一个右括号 – 之前指定
/^([0-9]+<character>)*([0-9]+)$/
。
您可以将字符切换为任何其他值,例如空格。
function containsOnlyNumbers(str) { return /^([0-9]+ )*([0-9]+)$/.test(str); } console.log(containsOnlyNumbers('1234')); // 👉️ true console.log(containsOnlyNumbers('12 34')); // 👉️ true console.log(containsOnlyNumbers('12 34 5')); // 👉️ true console.log(containsOnlyNumbers('12,34')); // 👉️ false console.log(containsOnlyNumbers('12-34-56')); // 👉️ false
如果您在阅读正则表达式时需要帮助,请查看
MDN 提供的正则表达式速查表。
它包含一个表格,其中包含每个特殊字符的名称和含义以及示例。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: