/**
* @param {string} s
* @return {boolean}
*/
var validNumber = function(s) {
s=s.trim();
return /^(\+|\-)?(\d+(\.\d*)?|\.\d+)((e|E)(\+|\-)?\d+)?$/.test(s);
};
^:表示字符串的开始
(+|-)?:可选的正号或负号
(\d+(.\d*)?|.\d+):整数部分(可能有小数点和小数部分),或只有小数部分
\d+:一个或多个数字
(.\d*)?:可选的小数点和小数部分(小数部分可以有零个或多个数字)
|.\d+:或者只有小数部分(以小数点开始)
((e|E)(+|-)?\d+)?:可选的科学记数法部分
(e|E):字母 ‘e’ 或 ‘E’
(+|-)?:可选的正号或负号
\d+:一个或多个数字
$:表示字符串的结束