您当前位于:
HTML5面试题 ——> WEB前端面试真题 - 如何提取数字(字符串、正则两种方法)
WEB前端面试真题 - 如何提取数字(字符串、正则两种方法)
2015/07/14 20:36:38
|
作者:HTML5学堂(码匠)
|
分类:HTML5面试题
|
关键词:前端,面试题,提取数字,字符串,正则
提取数字——字符串、正则面试题
HTML5学堂:正则、数组、字符串,是JavaScript语言中让人头痛的一些知识,今天这篇文章我们使用数组字符串、正则两种方法,来实现从一个字符串中提取数字的功能,并将提出出来的数字作为一个数组返回。
提取字符串中的数组
将一个字符串中的数字提取出来,再有多个连续的数字组合为一个数组。例如:将hyoga3476H5course75,提取组合成:[3476, 5, 75]
题目剖析
字符串方法的解题思路:从字符串的第一位开始进行检测,查看是否是介于数字之间,如果是的话,则将组接字符串,当没有数字再出现的时候,将组接好的数字字符串,作为一个数组元素添加到数组当中。需要有一个地方进行处理,即如果最后一位是数字,这种情况下,需要进行再次检测。
相关知识点的使用:字符串方面,需要使用到charAt、push方法;正则方面,需要使用到match方法。
欢迎沟通交流~HTML5学堂
字符串方法 - 提取字符串中的数组
-
var str = 'hyoga3476H5course75';
-
var arr = [];
-
var substr = '';
-
for (var i = 0; i < str.length; i++) {
-
if (str.charAt(i)>='0' && str.charAt(i)<=9) {
-
substr += str.charAt(i);
-
}else{
-
if (substr!='') {
-
arr.push(substr);
-
substr = '';
-
};
-
}
-
};
-
// 防止最后一位为数字,而上面的for循环无法实现
-
if (substr!='') {
-
arr.push(substr);
-
substr = '';
-
};
-
console.log(arr);
正则方法 - 提取字符串中的数组
-
var str = 'hyoga3476H5course75';
-
var reg = /\d+/g;
-
str = str.match(reg);
-
console.log(str);
欢迎沟通交流~HTML5学堂
阅读:865