博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】Valid Number
阅读量:6540 次
发布时间:2019-06-24

本文共 969 字,大约阅读时间需要 3 分钟。

题目如下:

解题思路:对于这种题目,还是用正则表达式吧。顺便吐槽下,这个题目坑实在是太多太多了,各种数字的表达类型都要考虑到,反正就是慢慢尝试呗。如果是像我一样对正则表达式不是特别熟练的话,还是建议把各种情况分开,不要写在一个表达式里,不然要死很多脑细胞的。

代码如下:

var isNumber = function(s) {    s = s.replace(/(^\s*)|(\s*$)/g, "")    //0    if(s == '0'){        return true    }    if(s.replace(/\./g,"") == ""){        return false    }    //不包括任何一个数字    var re = /\d/    if( !re.test(s) ){        return false    }    //正负整数    //var re = new RegExp(rs);    re = /^[\+-]?[0-9]\d{0,}$/    if( re.test(s) ){        return true    }    //正负小数    re = /^[\+-]?[0-9]?\d{0,}\.\d{0,}$|^[\+-]?0\.\d{0,}$/    if( re.test(s) ){        return true    }    // .1    re = /^-?\.\d{1,}$/    if( re.test(s) ){        return true    }    //科学计数法    //.e1 -> false; .2e1->true; 1.431352e7 ->true    re = /^[\+-]?[0-9]+e[-\+]?\d{1,}$|^[\+-]?[0-9]+\.{1}e[-\+]?\d{1,}$|^[\+-]?\d*\.{1}\d+e[-\+]?\d{1,}$/    if( re.test(s) ){        return true    }    return false};

 

转载于:https://www.cnblogs.com/seyjs/p/8678020.html

你可能感兴趣的文章
WCF 入门
查看>>
Django REST框架--关系和超链接api
查看>>
双击防止网页放大缩小HTML5
查看>>
C#的一些学习方法
查看>>
iOS开发-开发总结
查看>>
c++中的 Stl 算法(很乱别看)
查看>>
前端开发入门 --摘自慕克网大漠穷秋
查看>>
U3D Invoke() IsInvoking CancelInvoke方法的调用
查看>>
Javascript 如何生成Less和Js的Source map
查看>>
中间有文字的分割线效果
查看>>
<悟道一位IT高管20年的职场心经>笔记
查看>>
volatile和synchronized的区别
查看>>
10.30T2 二分+前缀和(后缀和)
查看>>
vuex视频教程
查看>>
Java 线程 — ThreadLocal
查看>>
安居客爬虫(selenium实现)
查看>>
-----二叉树的遍历-------
查看>>
ACM北大暑期课培训第一天
查看>>
Scanner类中输入int数据,再输入String数据不正常的
查看>>
F. Multicolored Markers(数学思维)
查看>>