题目描述:
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。
知识点:
- 主要是正则表达式的掌握
- [A-Za-z0-9]表示字符集,任意范围字符多选一
- {6,10}表示某模式重复的次数
- ()代表优先级
- *代表 0次或多次,+代表一次以上,?代表0次或一次
- g代表全局匹配,i忽略大小写,gi全局匹配,忽略大小写
解题思路:
- 直接使用正则匹配便好
题目代码:
//s字符串
function isNumeric(s)
{
// write code here
// 注意这里有几个细节一定要注意
// 1.一定要设置^与$开头与结尾
// 2.要记得加i代表忽略大小写
return /^[+-]?\d*\.?\d+(e[+-]?\d+)?$/i.test(s);
}