剑指Offer——表示数值的字符串(JS实现)

简介: 剑指Offer——表示数值的字符串(JS实现)

题目描述

image.png

image.png

题思路

  • 本题采用正则表达式的解法,就当作练习自己的正则表达式了
  1. 使用trim去除字符串两侧的空格。
  2. 小数的情况。
  3. 整数的情况。
  4. 为e或E的情况,然后后面跟着一个整数的情况

综合上面四种情况,来综合判断是否符合表示数值的字符串。这道题题干真的很清晰。

解题代码

var isNumber = function(s) {
    // 去除字符串两侧的空格
    s = s.trim();
    // 判断是否有 + - 号,有则继续判断
    const num = s.match(/^[+-]?\d{1,}\.([eE][+-]?\d+)?$/);
    const num2 = s.match(/^[+-]?\d{1,}\.\d{1,}([eE][+-]?\d+)?$/);
    const num3 = s.match(/^[+-]?\.\d{1,}([eE][+-]?\d+)?$/);
    const num4 = s.match(/^[+-]?\d+([eE][+-]?\d+)?$/)
    if (!num && !num2 && !num3 && !num4) {
        return false;
    } else {
        return true
    }
};

总结(本题给我们的启示思路)

  • 学会灵活运用正则表达式。
相关文章
|
8天前
|
JavaScript 前端开发 索引
JavaScript中与字符串相关的方法
JavaScript中与字符串相关的方法
|
1天前
|
JavaScript 前端开发
js字符串拼接
js字符串拼接
|
1天前
|
JavaScript 数据处理 索引
js字符串截取
js字符串截取
19 11
|
8天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`'1.2,2,3,4,5'`)转换为对象数组。通过使用`split(',')`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
12天前
|
JavaScript
JS去除字符串的方法
JS去除字符串的方法
|
16天前
|
JavaScript 前端开发
为 setTimeout 或 setInterval 提供一个字符串作为第一个参数(js的问题)
为 setTimeout 或 setInterval 提供一个字符串作为第一个参数(js的问题)
|
18天前
|
存储 JSON JavaScript
从复杂数据类型到字符串:JavaScript 中的转换方法
从复杂数据类型到字符串:JavaScript 中的转换方法
21 5
|
Web App开发 JavaScript 前端开发
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0