The forum of the forums
Welcome to the Official Support Forum of Forumotion!

To take full advantage of everything offered by our forum, please log in if you are already a member, or join our community if you've not yet.



Create a free forum like this one.

Problem with javascript which counts the words

View previous topic View next topic Go down

Solved Problem with javascript which counts the words

Post by Van-Helsing on November 7th 2014, 6:00 pm

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.
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

Van-Helsing
Hyperactive

Male Posts : 2198
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Ange Tuteur on November 7th 2014, 10:47 pm

Hello Black-Shadow,

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");
  }
  });
  }
  })});

Ange Tuteur
Forumaster

Male Posts : 13021
Reputation : 2683
Language : EN10, FR5
Location : Pennsylvania

http://fmdesign.forumotion.com

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Van-Helsing on November 7th 2014, 11:12 pm

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?

Van-Helsing
Hyperactive

Male Posts : 2198
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Ange Tuteur on November 7th 2014, 11:47 pm

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");
                }
            });
          }
      })});

Ange Tuteur
Forumaster

Male Posts : 13021
Reputation : 2683
Language : EN10, FR5
Location : Pennsylvania

http://fmdesign.forumotion.com

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Van-Helsing on November 7th 2014, 11:53 pm

No the quantifier is not working http://prntscr.com/5433ox is there another quantifier except /w and /W?

Van-Helsing
Hyperactive

Male Posts : 2198
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Ange Tuteur on November 8th 2014, 1:02 am

Okay, see if this works :
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.

Ange Tuteur
Forumaster

Male Posts : 13021
Reputation : 2683
Language : EN10, FR5
Location : Pennsylvania

http://fmdesign.forumotion.com

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Van-Helsing on November 8th 2014, 1:14 am

Yes now its working both greek and english characters sets.
Thank you very much Ange. The problem is solved http://prntscr.com/543z72 .
~1~

Van-Helsing
Hyperactive

Male Posts : 2198
Reputation : 82
Language : English, Greek

http://helpgr.forumgreek.com/

Back to top Go down

Solved Re: Problem with javascript which counts the words

Post by Ange Tuteur on November 8th 2014, 1:33 am

You're welcome ^^

Topic archived

Ange Tuteur
Forumaster

Male Posts : 13021
Reputation : 2683
Language : EN10, FR5
Location : Pennsylvania

http://fmdesign.forumotion.com

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum