zoukankan      html  css  js  c++  java
  • 分别用字符串方法和正则找出字符串中所有的数字

    1、第一种方法:

    用字符串的方法,遍历字符串每一个字符,当字符的编码介于0-9之间时将字符存在变量tmp中,否则变量追加到数组并且清空。

    <script>
    var str = 'haj123sdk54hask33dkhalsd879';
    
    function findNum(str){
        
        var arr = [];
        var tmp = '';
        
        for(var i=0;i<str.length;i++){
            if( str.charAt(i)<='9' && str.charAt(i)>='0' ){
                tmp += str.charAt(i);
            }
            else{
                if(tmp){
                    arr.push(tmp);
                    tmp = '';
                }
            }
        }
        
      //在循环外加一个判断,是因为当字符串遍历到最后一位9的时候,不会走else里面的内容,无法加到数组
    if(tmp){ arr.push(tmp); tmp = ''; } return arr; } alert( findNum(str) ); //[123,54,33,879] </script>

    2、第二种方法:正则的match匹配。

    function findNum(str){
        return str.match(/d+/g);
    }
    
    alert( findNum(str) );   //[123,54,33,879]
  • 相关阅读:
    OC-KVO简介
    注册审核
    应用权限
    关于函数执行的一点知识
    设置权限
    文件操作实例:文件管理器(网页版)
    文件操作
    正则表达式
    全局变量和递归
    案例:简单留言板
  • 原文地址:https://www.cnblogs.com/angelatian/p/6806877.html
Copyright © 2011-2022 走看看