首页 > 语言 > JavaScript > 正文

javascript正则表达式基础知识入门

2024-05-06 14:43:01
字体:
来源:转载
供稿:网友

正则表达式的好处到底在哪里呢,下面我们先进行个了解:
我们用js中处理字符串的方法,写出取出字符串中数字的函数:

 var str='dgh6a567sdo23ujaloo932';   function getNumber(obj){     var arr=[];     for (var i = 0; i < obj.length; i++) {       if (obj.charAt(i)>='0'&&obj.charAt(i)<='9'){           arr.push(obj.charAt(i));         }     }     return arr;   };   console.log(getNumber(str));  //["6", "5", "6", "7", "2", "3", "9", "3", "2"]

上面的方法我们取出了字符串中的数字,但是我们不满意,我们需要的是['6','567','23','932']的形式,对函数进行改造:

function getNumber(obj){    var arr=[];    var temp='';    for (var i = 0; i < obj.length; i++) {      if (obj.charAt(i)>='0'&&obj.charAt(i)<='9'){          temp+=obj.charAt(i);//现将相邻的数字连接起来        }        else{ //每当连接的数字断开时,就在这执行          if (temp) {            arr.push(temp);            temp='';          }        };    }    if (temp) { //这里的作用是为了显示最后数字的,原因不想解释            arr.push(temp);            temp='';          }    return arr;  };

那我们用正则表达式的方式来解决这个函数实现的功能:

function getNumber2(obj){    var arr=[];    var re=//d+/g;    arr.push(obj.match(re));    return arr;  };

完整的看看程序的运行结果吧:

<!DOCTYPE><html><head>  <meta charset='utf-8'>  <title></title></head><script type="text/javascript">window.onload=function(){  var str='dgh6a567sdo23ujaloo932';  /*function getNumber(obj){    var arr=[];    for (var i = 0; i < obj.length; i++) {      if (obj.charAt(i)>='0'&&obj.charAt(i)<='9'){          arr.push(obj.charAt(i));        }    }    return arr;  };*/  function getNumber(obj){    var arr=[];    var temp='';    for (var i = 0; i < obj.length; i++) {      if (obj.charAt(i)>='0'&&obj.charAt(i)<='9'){          temp+=obj.charAt(i);//现将相邻的数字连接起来        }        else{ //每当连接的数字断开时,就在这执行          if (temp) {            arr.push(temp);            temp='';          }        };    }    if (temp) { //这里的作用是为了显示最后数字的,原因不想解释            arr.push(temp);            temp='';          }    return arr;  };  function getNumber2(obj){    var arr=[];    var re=//d+/g;    arr.push(obj.match(re));    return arr;  };  console.log(getNumber(str));  console.log(getNumber2(str)); };</script><body></body></html>

从上面的例子我们可以看出来,正则表达式的方法有着同样的效果,但是代码更加简短,更加高效,这就是正则的好处啊
正则是为了更高效的处理字符串而产生的,和字符串处理方法一样,只是更加高效、简洁(正则只可以处理字符串)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选