我有一个号码12234123.23,其中我使用了如下的拆分方法:
num1= number.toString().split(".")[0];
// num1.length returns 10.
但我只希望返回整数的数目(即=>8(不包括逗号))。
请建议一种使用JavaScript 实现它的方法
var str = "12,234,123.23";
str = str.replace(/,/g, "");
var index = str.indexOf(".");
str = str.substr(0, index); // 12234123
console.log(str);
演示:http://jsfiddle.net/sm3fM/
以上代码将在这种情况下工作。但正如你在标题中提到的,如果你想排除任何特殊字符,那么正则表达式的使用将是更精确的&更清洁的方式。您必须创建一个regEx模式,然后验证您对该模式的输入。有关regExp的更多示例,请访问:
- http://www.w3schools.com/jsref/jsref_obj_regexp.asp
- https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions
您可以在一行中完成此操作:
parseInt(str.replace(/,/g, ""))
这里有一个演示:http://jsfiddle.net/nn007/sm3fM/1/