JavaScript 中如何检查字符串是否只包含数字?
我们在开发时可能需要找到只包含数字而不包含任何其他字符的字符串。最简单的检查方法是解析字符串中的数字并将其长度与原始字符串的长度进行比较。如果两者相同,则意味着该字符串仅包含数字。用户可以使用parseInt()方法来解析字符串中的数字。
但是,在本教程中,我们将学习其他方法来检查 JavaScript 中的字符串是否仅包含数字。
使用 for 循环和 CharCodeAt() 方法
我们可以使用 for 循环遍历字符串。我们可以使用索引值和 charCodeAt() 方法来获取字符串中的每个字符,以获取其 ASCII 值。之后,我们可以将字符的 ASCII 值与数字的 ASCII 值进行比较,得出该字符是数字还是非数字字符。
语法
用户可以按照以下语法检查字符串是否仅包含数字。
function isOnlyDigits(string) { for (let i = 0; i < string.length; i++) { var ascii = string.charCodeAt(i); if (ascii < 48 || ascii > 57) { return false; } } return true; }
在上面的语法中,我们为每个字符串字符执行 charCodeAt() 方法。
步骤
步骤 1 - 使用 for 循环迭代字符串。
步骤 2 - 使用 charCodeAt() 方法获取字符的 ASCII 值,该字符位于字符串中的第 i 个索引处
步骤 3 - 检查索引 ith 处的字符的 ASCII 值是否在 48 到 57 之间。如果不是,则表示它是非数字字符并返回 false。
步骤 4 - 如果 for 循环的迭代完成,并且函数没有找到任何非数字字符,则返回 true,表示字符串仅包含数字。
示例
在下面的示例中,我们采用两个仅包含数字和混合字符的字符串。用户可以观察输出结果,它根据只包含数字或非数字的字符串在网页上打印消息。
<html> <body> <h3>Using the <i> for-loop and charCodeAt() </i> method to check if string contains only digits</h2> <div id = "output"> </div> <script> let output = document.getElementById("output"); function isOnlyDigits(string) { for (let i = 0; i < string.length; i++) { var ascii = string.charCodeAt(i); if (ascii < 48 || ascii > 57) { output.innerHTML += "The " + string + " contains non-digits characters also. <br/>"; return false; } } output.innerHTML += "The " + string + " contains only digits characters also. <br/>"; return true; } isOnlyDigits("122135567343"); isOnlyDigits("df32d23"); </script> </body> </html>
使用 Number() 构造函数
在 JavaScript 中,Number 是一个对象,我们可以使用它的构造函数来创建它的实例。我们可以传递一个值作为 Number() 构造函数的参数,以用数字值初始化变量。
我们还可以将数字字符串作为 Number() 构造函数的参数传递。它解析数字并返回数字值。如果我们传递包含非数字字符的字符串,它将返回 NaN 值。
语法
用户可以使用下面的语法来使用 Numberconstructor()来检查字符串是否仅包含数字。
let num = Number(string1); if (num != NaN) { // contains non-digit numbers }else{ // contains only digits. }
在上面的语法中,string1是一个包含数字和非数字字符的字符串。如果 Number() 构造函数返回 NaN,则字符串包含非数字字符;否则,它返回数值。
示例
在下面的示例中,string1 仅包含数字。我们将它作为 Number() 构造函数的参数传递,用户可以看到它在输出中返回实际的数值而不是 NaN。
<html> <body> <h3>Using the <i> Number() constructor </i> method to check if string contains only digits</h2> <div id="output"></div> <script> let output = document.getElementById("output"); let string1 = "3433454646"; let num = Number(string1); if (num != NaN) { output.innerHTML += "The " + string1 + " Contains only digits! <br/>"; } else { output.innerHTML += "The " + string1 + " Contains non-digits characters! <br/>"; } </script> </body> </html>
使用正则表达式
在本节中,我们将创建一个正则表达式,可用于将非数字字符匹配到字符串中。如果我们找到非数字字符的任何单个匹配,我们可以说该字符串也包含非数字字符。
语法
用户可以按照下面的语法使用正则表达式来检查字符串是否只包含数字。
let regex = /\D/; let bool = regex.test(str); if (bool) { // contains non-digits } else { // contains only digits }
上面的语法中使用了 test() 方法来将正则表达式模式与字符串进行匹配。
如果字符串包含任何非数字字符,test() 方法将返回 true。
正则表达式解释
D - 用于匹配任何单个非数字字符。
我们还可以将“g”标志与正则表达式一起使用来匹配所有出现的非数字字符,但我们足以知道字符串仅包含一个非数字字符。
示例
在此示例中,当用户单击按钮时,isContainsDigits() 函数具有不同的字符串参数。此外,用户可以使用不同的字符串观察 test() 方法的输出。
<html> <body> <h3>Using the <i> regular expression </i> method to check if string contains only digits </h3> <div id = "output"> </div> <button onclick="isContainsDigits('8954656');isContainsDigits('dfjsdh4354354')"> Click here </button> <script> let output = document.getElementById("output"); let regex = /\D/; function isContainsDigits(str) { let bool = regex.test(str); if (bool) { output.innerHTML += "The " + str + " Contains non-digits! <br/>"; } else { output.innerHTML += "The " + str + " Contains only digits characters! <br/>"; } } </script> </body> </html>
我们学习了三种不同的方法来检查字符串是否仅包含数字。用户可以使用 Number() 构造函数通过一个线性代码来执行任务。
以上是JavaScript 中如何检查字符串是否只包含数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

本教程向您展示了如何将自定义的Google搜索API集成到您的博客或网站中,提供了比标准WordPress主题搜索功能更精致的搜索体验。 令人惊讶的是简单!您将能够将搜索限制为Y

本文系列在2017年中期进行了最新信息和新示例。 在此JSON示例中,我们将研究如何使用JSON格式将简单值存储在文件中。 使用键值对符号,我们可以存储任何类型的

增强您的代码演示:开发人员的10个语法荧光笔 在您的网站或博客上共享代码片段是开发人员的常见实践。 选择合适的语法荧光笔可以显着提高可读性和视觉吸引力。 t

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

本文介绍了关于JavaScript和JQuery模型视图控制器(MVC)框架的10多个教程的精选选择,非常适合在新的一年中提高您的网络开发技能。 这些教程涵盖了来自Foundatio的一系列主题

核心要点 JavaScript 中的 this 通常指代“拥有”该方法的对象,但具体取决于函数的调用方式。 没有当前对象时,this 指代全局对象。在 Web 浏览器中,它由 window 表示。 调用函数时,this 保持全局对象;但调用对象构造函数或其任何方法时,this 指代对象的实例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。这些方法使用给定的 this 值和参数调用函数。 JavaScript 是一门优秀的编程语言。几年前,这句话可
