HTML5学堂-码匠 HTML5学堂

您当前位于:面试题精讲 ——> WEB前端面试真题 - 如何提取数字(字符串、正则两种方法)

WEB前端面试真题 - 如何提取数字(字符串、正则两种方法)

2015/07/14 20:36:38 | 作者:HTML5学堂(码匠) | 分类:面试题精讲 | 关键词:前端,面试题,提取数字,字符串,正则

提取数字——字符串、正则面试题

HTML5学堂:正则、数组、字符串,是JavaScript语言中让人头痛的一些知识,今天这篇文章我们使用数组字符串、正则两种方法,来实现从一个字符串中提取数字的功能,并将提出出来的数字作为一个数组返回。

提取字符串中的数组

将一个字符串中的数字提取出来,再有多个连续的数字组合为一个数组。例如:将hyoga3476H5course75,提取组合成:[3476, 5, 75]

题目剖析

字符串方法的解题思路:从字符串的第一位开始进行检测,查看是否是介于数字之间,如果是的话,则将组接字符串,当没有数字再出现的时候,将组接好的数字字符串,作为一个数组元素添加到数组当中。需要有一个地方进行处理,即如果最后一位是数字,这种情况下,需要进行再次检测。

相关知识点的使用:字符串方面,需要使用到charAt、push方法;正则方面,需要使用到match方法。

欢迎沟通交流~HTML5学堂

字符串方法 - 提取字符串中的数组

  1. var str = 'hyoga3476H5course75';
  2. var arr = [];
  3. var substr = '';
  4. for (var i = 0; i < str.length; i++) {
  5.     if (str.charAt(i)>='0' && str.charAt(i)<=9) {
  6.         substr += str.charAt(i);
  7.     }else{
  8.         if (substr!='') {
  9.             arr.push(substr);
  10.             substr = '';
  11.         };
  12.     }
  13. };
  14. // 防止最后一位为数字,而上面的for循环无法实现
  15. if (substr!='') {
  16.     arr.push(substr);
  17.     substr = '';
  18. };
  19. console.log(arr);

正则方法 - 提取字符串中的数组

  1. var str = 'hyoga3476H5course75';
  2. var reg = /\d+/g;
  3. str = str.match(reg);
  4. console.log(str);

欢迎沟通交流~HTML5学堂

微信公众号,HTML5学堂,码匠,原创文章,WEB前端,技术分享

HTML5学堂

原创前端技术分享

HTML5学堂,HTML5,WEB,前端,视频课程,技术视频,学习视频,面试,JS

原创视频课程

用心打造精品课程

微信小程序,决胜前端,面试题,面试题集合,前端,HTML5,真题

小程序-决胜前端

前端面试题宝库

原创书籍,学习书籍,书籍推荐,HTML5布局之路,HTML5,WEB前端

HTML5布局之路

非传统模式讲解前端

iOS,APP,码集,案例交互,JavaScript学习,WEB前端,HTML5

iOS APP 码集

案例交互式学习JS