剑指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
    }
};

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

  • 学会灵活运用正则表达式。
相关文章
|
2月前
|
JavaScript 前端开发
JS几种拼接字符串的方法
JS几种拼接字符串的方法
53 1
|
1月前
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
|
28天前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
23 2
|
3月前
|
存储 JSON JavaScript
「offer来了」保姆级巩固你的js知识体系(4.0w字)
该文章提供了JavaScript知识体系的全面复习资料,覆盖了从基础语法到高级特性如闭包、原型链、异步编程等多个方面,并通过大量的面试题和实例代码帮助巩固理解。
「offer来了」保姆级巩固你的js知识体系(4.0w字)
|
2月前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
47 3
|
3月前
|
JavaScript 前端开发
如何在JavaScript中替换字符串:一篇详细指南
如何在JavaScript中替换字符串:一篇详细指南
|
3月前
|
JavaScript 前端开发 C++
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
|
3月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
Web App开发 JavaScript 前端开发
|
28天前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂