【问题标题】:jquery textarea inside html tag strip/removehtml标签条/删除内的jquery textarea
【发布时间】:2016-05-04 14:11:23
【问题描述】:

我想计算 textarea 中的字符数,但我不希望它计算 html 标签。

片段:

$('#m-summary').keyup(function() {
  var sumTxt=$('#m-summary').val().length;
  if(sumTxt < 200) {
    $('#result-summary').html("<span>200 / </span><span style='font- style:normal;font-weight:bold;'>"+sumTxt+"</span>");
  }
  else {
    $('#result-summary').html("<span style='color:green'>200 / </span><span style='color:green;font-style:normal;font-  weight:bold;'>"+sumTxt+"</span>");
  }
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class="text-area">
  <textarea name="m_summary" id="m-summary"></textarea>
  <div id="result-summary">200 / 0</div>
</div>

我在 textarea 内写:hello。计数长度 = 12。

【问题讨论】:

    标签: jquery html tags textarea


    【解决方案1】:

    使用:str.replace(/&lt;\/?[^&gt;]+(&gt;|$)/g, "")

    片段:

    $('#m-summary').keyup(function() {
      var sT=$('#m-summary').val().replace(/<\/?[^>]+(>|$)/g, "");
      var sumTxt=sT.length;
      if(sumTxt < 200) {
        $('#result-summary').html("<span>200 / </span><span style='font- style:normal;font-weight:bold;'>"+sumTxt+"</span>");
      }
      else {
        $('#result-summary').html("<span style='color:green'>200 / </span><span style='color:green;font-style:normal;font-  weight:bold;'>"+sumTxt+"</span>");
      }
    }
    );
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
    <div class="text-area">
      <textarea name="m_summary" id="m-summary"></textarea>
      <div id="result-summary">200 / 0</div>
    </div>

    【讨论】:

      【解决方案2】:

      如果 html 包含在一个字符串中,那么您将需要一个 html 解析器来剥离 html 然后计算字符串,例如 http://ejohn.org/blog/pure-javascript-html-parser/。这是如果我正确理解了这个问题,如果不是,你只是想在文本区域内尝试字符串的长度:

      $("#m-summary").text().length; 
      

      我也希望您为此尝试使用本机 javascript:

      document.getElementById("m-summary").value.length
      

      【讨论】:

        【解决方案3】:

        $("#m-summary").text() 只会给你文本而不是 html 标签然后你可以像这样检查长度:

        var textval = $("#m-summary").text();
        console.log(textval.length());
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-12
          • 2015-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-03
          • 1970-01-01
          • 2023-03-12
          相关资源
          最近更新 更多