Как посчитать число смайлов в тексте?
Надо делать мгновенный подсчет на смайлы в тексте.
Сделал вот таким образом 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, время: 15:15. |