$str = '<b>fjdkf要城地kscf</b>sdfsd要夺夺<br/><br/>dsfsdfsdfsdfsdf<br/>';// 有这样的字符, 怎么从第一个字符开始取, 直到第一个<br/>结束, 字取字符,不能有html

解决方案 »

  1.   


    var $str = ' <b>fjdkf要城地kscf </b>sdfsd要夺夺 <br/> <br/>dsfsdfsdfsdfsdf <br/>'; 
    var n1=($str.match(/(.*?)<br\/?>/)|| ["",""])[1].replace(/<\/?[^>]*>/g,"");//先匹配第一个<br/>前面的, ||["",""]这个防止没有匹配时报错, 再替换html标签
    alert(n1);
    alert($str.substr(0,20));//前20个字符
      

  2.   


    <script language="javascript">
    var str = ' <b>fjdkf要城地kscf </b>sdfsd要夺夺 <br/> <br/>dsfsdfsdfsdfsdf <br/>';
    function getXX(strSource,splitStr) {
    var s=strSource;
    var p=splitStr;
    var pos=s.indexOf(p);
    var v=s.substring(0,pos)
    alert("第一个 <br/> 前的字符串: "+v+",  前 20个字符为: "+v.substr(0,20));
    }
    getXX(str,"<br/>")
    </script>
      

  3.   


    <script type="text/javascript">
    <!--
    $str = ' <b>fjdkf要城地kscf </b>sdfsd要夺夺 <br/> <br/>dsfsdfsdfsdfsdf <br/>'; 
    var r1 = $str.split('<br/>')[0].replace(/<\/?[^>]?>/g,'');
    var r2 = $str.replace(/<\/?[^>]?>/g,'').substring(0, 20);
    alert(r1 + '\r\n' + r2)
    //-->
    </script>
      

  4.   


    <script type="text/javascript">
    <!--
    $str = ' <b>fjdkf要城地kscf </b>sdfsd要夺夺 <br/> <br/>dsfsdfsdfsdfsdf <br/>'; 
    var r1 = $str.split('<br/>')[0].replace(/<\/?[^>]+>/g,'');
    var r2 = $str.replace(/<\/?[^>]+>/g,'').substring(0, 20);
    alert(r1 + '\r\n' + r2); // r1: <br/>前字符. r2:除去html标签外 前20字符
    //-->
    </script>