如何在 JavaScript 中检查字符串是否仅包含数字
如何在 JavaScript 中检查字符串是否仅包含数字
了解如何在 JavaScript 中轻松检查字符串是否仅包含数字。匹配包含由字符分隔的数字的字符串。
要检查字符串是否仅包含 JavaScript 中的数字,请调用 测试()
这个正则表达式的方法: ^\d+$
.这 测试()
方法将返回 真的
如果字符串只包含数字。否则,它将返回 错误的
.
例如:
函数 containsOnlyNumbers(str) {
返回 /^\d+$/.test(str);
} console.log(containsOnlyNumbers('HTML5')); // 错误的
console.log(containsOnlyNumbers('1234')); // 真的
console.log(containsOnlyNumbers('3 香蕉')); // 错误的
这 正则表达式测试() 方法搜索正则表达式和字符串之间的匹配。
这 /
和 /
字符用于开始和结束正则表达式。
这 ^
字符标记字符串输入的开始,并且 $
字符标志着它的结束。
这 \d
模式匹配任何数字 ( 0
- 9
) 在字符串中。
添加 +
之后的字符 \d
使正则表达式匹配一个或多个出现的 \d
图案。
因此,正则表达式匹配一个以连续数字序列开头和结尾的字符串。
我们可以使用 [0-9]
模式来匹配数字。此模式匹配之间的任何数字字符 0
和 9
.
函数 containsOnlyNumbers(str) {
返回 /^[0-9]+$/.test(str);
} console.log(containsOnlyNumbers('HTML5')); // 错误的
console.log(containsOnlyNumbers('1234')); // 真的
console.log(containsOnlyNumbers('3 香蕉')); // 错误的
你可能会发现 [0-9]
比 \d
,特别是如果您对正则表达式中的特殊字符不是很熟悉的话。
匹配包含由字符分隔的数字的字符串
有时我们希望匹配数字可能由特定字符(例如空格或逗号)分隔的字符串。
函数 containsOnlyNumbers(str) {
返回 /^(\d+,)*(\d+)$/.test(str);
} console.log(containsOnlyNumbers('123456789')); // true(不需要分隔符)
console.log(containsOnlyNumbers('123,456,789')); // 真的
console.log(containsOnlyNumbers('123-456-789')); // 错误的
我们使用这种格式的正则表达式来做到这一点: ^(\d+{ch})*(\d+)$
, 在哪里 {ch}
是分隔数字的字符。
所以我们可以使用一个非常相似的正则表达式来匹配一个只包含用连字符分隔的数字的字符串:
函数 containsOnlyNumbers(str) {
返回 /^(\d+-)*(\d+)$/.test(str);
} console.log(containsOnlyNumbers('123456789')); // 真的
console.log(containsOnlyNumbers('123,456,789')); // 错误的
console.log(containsOnlyNumbers('123-456-789')); // 真的
或空格:
函数 containsOnlyNumbers(str) {
返回 /^(\d+ )*(\d+)$/.test(str);
} console.log(containsOnlyNumbers('123456789')); // 真的
console.log(containsOnlyNumbers('123 456 789')); // 真的
console.log(containsOnlyNumbers('123-456-789')); // 错误的
小费: 如果您遇到过带有难以理解的模式的正则表达式,这 正则表达式备忘单 来自 MDN 文档可能会有所帮助。
像以前一样,我们可以使用 [0-9]
代替 \d
对于正则表达式:
函数 containsOnlyNumbers(str) {
返回 /^([0-9]+-)*([0-9]+)$/.test(str);
} console.log(containsOnlyNumbers('123456789')); // 真的
console.log(containsOnlyNumbers('123,456,789')); // 错误的
console.log(containsOnlyNumbers('123-456-789')); // 真的
最初发表于 编码beautydev.com
ES13 中的 11 个惊人的 JavaScript 新特性
本指南将带您快速了解 ECMAScript 13 中添加的所有最新功能。这些强大的新功能将使用更短、更具表现力的代码使您的 JavaScript 现代化。
注册 并立即获得免费副本。
更多内容在 ** 纯英语.io** .注册我们的 ** 免费每周通讯** .跟着我们 ** 推特** , ** 领英** , ** YouTube** , 和 ** 不和谐** .
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通