Как посчитать число смайлов в тексте?
Надо делать мгновенный подсчет на смайлы в тексте.
Сделал вот таким образом
var my_text = document.getElementById('myTextArea');
count_smiles=(my_text.value.match(/[:)\:(\;)]/g).length);
alert(count_smiles);
Но есть сложность - получаю не число смайлов, а число совпавших символов. а если просто ввожу скобки, двоеточие или точку с запятой - по считает по одному символу. А еще проблема в том что смайл может быть и 3 символа - типа :-)Или даже больше *beer* Как можно реализовать такой подсчет? |
sanika,
сделайте split на все возможные значения |
sanika,
var smiles = ":) :-) *beer* :-)";
console.log( smiles.match(/(\:-?\))|(\*beer\*)/gi));
|
:write:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<textarea id="myTextArea" name="" rows="15" cols="35">
;)
:)
:-)
Или даже больше
*beer**beer*
*beer*
</textarea>
<script>
var my_text = document.getElementById('myTextArea'),
count_smiles=(my_text.value.split(/:-\)|\*beer\*|:\)|;\)/).length-1);
alert(count_smiles);
</script>
</body>
</html>
|
рони, cyber, спасибо за наставление. очень выручили.
|
| Часовой пояс GMT +3, время: 21:00. |