2016-05-04 9 views
0

Ich möchte Zeichen in Textarea zählen, aber ich möchte nicht HTML-Tags zählen.jquery textarea innerhalb html tag strip/entfernen

Snippet:

$('#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>

Ich schreibe innen TextArea-: hallo. zählen Länge = 12.

Antwort

1

Verwendung: str.replace(/<\/?[^>]+(>|$)/g, "")

Snippet:

$('#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>

+0

ausgezeichnet. Ty Alter! . – vulkan

+0

gut zu wissen, dass es hilfreich war. –

-2

$("#m-summary").text() geben Sie einfach den Text nicht HTML-Tags können Sie die Länge wie folgt überprüfen:

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

Dies funktioniert nicht: [fiddle] (https://jsfiddle.net/3suf4e9a/) –

0

Wenn der HTML-Code in einem String enthalten ist, dann werden Sie eine HTML benötigen Parser, um das HTML auszuziehen und dann die Zeichenfolge zu zählen, etwa http://ejohn.org/blog/pure-javascript-html-parser/. Dies ist, wenn ich die Frage richtig, wenn nicht verstanden und Sie wollen einfach die Länge der Zeichenfolge innerhalb des Textes versuchen:

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

Ich würde auch dies für Sie versuchen nativer Javascript bevorzugen:

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