javascript - When space is removed in a string of input text everything on right should be erased -


so have input box deals hashtags. ex: #abc #abcd #abcde

if user decides delete space in between of words, in right should erased.

ex: "#abc#abcd #abcde" should not happen in input field. instead input field should automatically update "#abc"

any idea?

sorry thought code might not help. anyway.

$("#post_search").keyup(function () {    $("#post_top_searches").show();   var ht = $('#post_search_input').val();   $("#search_display").empty();    var inputarr = ht.split(' ');   var arrlen = (object.keys(inputarr).length);    var newcount = (ht.match(/\s/g) || []).length;    if (newcount < currentwhitespacecount) {      var str = $('#post_search_input').val()     var newstr = "#";      if (newcount === 0) {        if (((str.match(new regexp("#", "g")) || []).length) > 1) {          (var = 1, len = str.length; <= len; i++) {           if (str[i] === "#") {             break;           }            (newstr = newstr + str[i]);         }        } else {         if (((str.match(new regexp("#", "g")) || []).length) === 1) {           newstr = $('#post_search_input').val();         }       }     } else if (newcount > 1) {       var strarr = str.split(' ');       (var = 1, len = strarr.length; <= len; i++) {         strarrletter = strarr.split();         (var j = 1, leng = strarrletter.length; j <= leng; j++) {           // pass         }       }     } else {       (var = 1, len = str.length; <= len; i++) {         if (str[i] === " ") {           break;         }          newstr = newstr + str[i];       }     }      if ($.inarray("#", inputarr) < 0) {       newstr = $('#post_search_input').val();     } else {       (var = 1, len = str.length; <= len; i++) {         if (str[i] === "#") {           break;         }          newstr = newstr + str[i];       }     }   }    $('#post_search_input').val(newstr);   currentwhitespacecount = newcount; }); 

you use code instead:

$("#post_search").on ('input', function () {      var index = $(this).val().search(/\s#/);      if (index !== -1) $(this).val($(this).val().substr(0, index+1));   });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  <input id= "post_search" value = "#abc #def #ghi">

  1. use of input event more accurate keyup. first trigger when change input via mouse and/or context menu operations (for instance).

  2. the regular expression in search find non-space followed hash. if found, hash , characters following removed.

as hashes should consists of letters, digits and/or underscores, may want use \w instead of \s (which matches punctuation). you....


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -