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

题目描述

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

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

题思路

  • 本题采用正则表达式的解法,就当作练习自己的正则表达式了
  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
    }
};

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

  • 学会灵活运用正则表达式。
上一篇:剑指Offer——把字符串转换成整数(JS实现)


下一篇:dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(十二)之 spring中RabbitMQ延迟队列的实现