Problem with javascript which counts the words
2 posters
Page 1 of 1
Problem with javascript which counts the words
Hello all,
I am using the following javascript to count the words in quick reply but it isn't recognizes the greek characters can you help me to fix it? It recognizes only the english characters.
I am using the following javascript to count the words in quick reply but it isn't recognizes the greek characters can you help me to fix it? It recognizes only the english characters.
- Code:
$(function(){$(function(){
var MinNumberOfWords = 5;
var LetterCountPerWord = 3;
var ico_compl = "http://i73.servimg.com/u/f73/18/10/89/49/ok-gre10.png";
var ico_incompl = "http://i73.servimg.com/u/f73/18/10/89/49/exclam10.png";
if($("#text_editor_textarea").length != 0){
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
$(".sceditor-container").after("<br/><div id='div_minchars' align='center'><div id='div_minchars_header'> Ελάχιστος αριθμός λέξεων για να σταλεί το μήνυμα: " + MinNumberOfWords + " (τουλάχιστον " + LetterCountPerWord + " γράμματα)</div><div id='div_minchars_info'></div></div>");
var sceditor = $("#text_editor_textarea").sceditor("instance");
var str = sceditor.val();
var regex = new RegExp('\\w{' + LetterCountPerWord + ',}\\b', 'g');
var str_arr = str.match(regex);
var str_len = str_arr == null ? 0 : str_arr.length;
if(str_len >= MinNumberOfWords) $("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
sceditor.keyUp(function(e) {
str = sceditor.val();
str_arr = str.match(regex);
str_len = str_arr == null ? 0 : str_arr.length;
if(str_len >= MinNumberOfWords) {
$("#div_minchars_info").html("Έχετε γράψει <span style='color:green'>" + str_len + "</span> λέξη/εις. Τώρα μπορείτε να αποστείλετε το θέμα/απάντηση σας <img src='" + ico_compl + "' />");
$("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
}else{
$("#div_minchars_info").html("Έχετε γράψει <span style='color:red'>" + str_len + "</span> λέξη/εις. Χρειάζεστε ακόμα " + (MinNumberOfWords - str_len) + " λέξη/εις για να αποστείλετε το θέμα/απάντηση σας <img src='" + ico_incompl + "' />");
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
}
});
}
})});
Last edited by Black-Shadow on November 8th 2014, 1:15 am; edited 1 time in total
Re: Problem with javascript which counts the words
Hello Black-Shadow,
Try replacing the script by :
Try replacing the script by :
- Code:
$(function(){$(function(){
var MinNumberOfChars = 50;
var ico_compl = "http://i73.servimg.com/u/f73/18/10/89/49/ok-gre10.png";
var ico_incompl = "http://i73.servimg.com/u/f73/18/10/89/49/exclam10.png";
if($("#text_editor_textarea").length != 0){
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
$(".sceditor-container").after("<br/><div id='div_minchars' align='center'><div id='div_minchars_header'> Minimum characters to send a message: " + MinNumberOfChars + " </div><div id='div_minchars_info'></div></div>");
var sceditor = $("#text_editor_textarea").sceditor("instance");
var str = sceditor.val();
var str_len = str.length;
if(str_len >= MinNumberOfChars) $("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
sceditor.keyUp(function(e) {
str = sceditor.val();
str_len = str.length;
if(str_len >= MinNumberOfChars) {
$("#div_minchars_info").html("You've written <span style='color:green'>" + str_len + "</span> character(s). You can now send the message <img src='" + ico_compl + "' />");
$("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
}else{
$("#div_minchars_info").html("You've written <span style='color:red'>" + str_len + "</span> character(s). You need " + (MinNumberOfChars - str_len) + " character(s) to send this message <img src='" + ico_incompl + "' />");
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
}
});
}
})});
Re: Problem with javascript which counts the words
Hello Ange,
This script is counting the characters but working with greek characters and recognize them, but I need to count the words. Is there a way to fix it?
This script is counting the characters but working with greek characters and recognize them, but I need to count the words. Is there a way to fix it?
Re: Problem with javascript which counts the words
You can try this, but I'm not sure if it'll work :
- Code:
$(function(){$(function(){
var MinNumberOfWords = 5;
var LetterCountPerWord = 3;
var ico_compl = "http://i73.servimg.com/u/f73/18/10/89/49/ok-gre10.png";
var ico_incompl = "http://i73.servimg.com/u/f73/18/10/89/49/exclam10.png";
if($("#text_editor_textarea").length != 0){
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
$(".sceditor-container").after("<br/><div id='div_minchars' align='center'><div id='div_minchars_header'> Ελάχιστος αριθμός λέξεων για να σταλεί το μήνυμα: " + MinNumberOfWords + " (τουλάχιστον " + LetterCountPerWord + " γράμματα)</div><div id='div_minchars_info'></div></div>");
var sceditor = $("#text_editor_textarea").sceditor("instance");
var str = sceditor.val();
var regex = new RegExp('\\W{' + LetterCountPerWord + ',}\\b', 'g');
var str_arr = str.match(regex);
var str_len = str_arr == null ? 0 : str_arr.length;
if(str_len >= MinNumberOfWords) $("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
sceditor.keyUp(function(e) {
str = sceditor.val();
str_arr = str.match(regex);
str_len = str_arr == null ? 0 : str_arr.length;
if(str_len >= MinNumberOfWords) {
$("#div_minchars_info").html("Έχετε γράψει <span style='color:green'>" + str_len + "</span> λέξη/εις. Τώρα μπορείτε να αποστείλετε το θέμα/απάντηση σας <img src='" + ico_compl + "' />");
$("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
}else{
$("#div_minchars_info").html("Έχετε γράψει <span style='color:red'>" + str_len + "</span> λέξη/εις. Χρειάζεστε ακόμα " + (MinNumberOfWords - str_len) + " λέξη/εις για να αποστείλετε το θέμα/απάντηση σας <img src='" + ico_incompl + "' />");
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
}
});
}
})});
Re: Problem with javascript which counts the words
No the quantifier is not working http://prntscr.com/5433ox is there another quantifier except /w and /W?
Re: Problem with javascript which counts the words
Okay, see if this works :
I added the unicode character codes to the regex.
- Code:
$(function(){$(function(){
var MinNumberOfWords = 5;
var LetterCountPerWord = 3;
var ico_compl = "http://i73.servimg.com/u/f73/18/10/89/49/ok-gre10.png";
var ico_incompl = "http://i73.servimg.com/u/f73/18/10/89/49/exclam10.png";
if($("#text_editor_textarea").length != 0){
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
$(".sceditor-container").after("<br/><div id='div_minchars' align='center'><div id='div_minchars_header'> Ελάχιστος αριθμός λέξεων για να σταλεί το μήνυμα: " + MinNumberOfWords + " (τουλάχιστον " + LetterCountPerWord + " γράμματα)</div><div id='div_minchars_info'></div></div>");
var sceditor = $("#text_editor_textarea").sceditor("instance");
var str = sceditor.val();
var regex = new RegExp('[a-z\u0370-\u03FF]{' + LetterCountPerWord + ',}[a-z\u0370-\u03FF]', 'g');
var str_arr = str.match(regex);
var str_len = str_arr == null ? 0 : str_arr.length;
if(str_len >= MinNumberOfWords) $("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
sceditor.keyUp(function(e) {
str = sceditor.val();
str_arr = str.match(regex);
str_len = str_arr == null ? 0 : str_arr.length;
if(str_len >= MinNumberOfWords) {
$("#div_minchars_info").html("Έχετε γράψει <span style='color:green'>" + str_len + "</span> λέξη/εις. Τώρα μπορείτε να αποστείλετε το θέμα/απάντηση σας <img src='" + ico_compl + "' />");
$("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
}else{
$("#div_minchars_info").html("Έχετε γράψει <span style='color:red'>" + str_len + "</span> λέξη/εις. Χρειάζεστε ακόμα " + (MinNumberOfWords - str_len) + " λέξη/εις για να αποστείλετε το θέμα/απάντηση σας <img src='" + ico_incompl + "' />");
$("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
}
});
}
})});
I added the unicode character codes to the regex.
Re: Problem with javascript which counts the words
Yes now its working both greek and english characters sets.
Thank you very much Ange. The problem is solved http://prntscr.com/543z72 .
Thank you very much Ange. The problem is solved http://prntscr.com/543z72 .
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum