javascript - search words from text area using jquery -
i trying search words in textarea. these words taken different textboxes. working fine when search words have common name like(nokia lumia , nokia lumia 310) not giving me perfect result. want search complete sentence , lock sentence, won`t used in other searches.
in picture have multiple words searched, few of them, not whole sentence.
html code:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title></title> <meta name="" content=""> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script> <link href="./js/jquery.highlighttextarea.css" rel="stylesheet"> <script src="./js/jquery.highlighttextarea.min.js"></script> </head> <body> <div > <form method="post" action=""> <p style="float: left; margin: 3px; margin-top: 0px;"> <textarea name="textarea" class="text" id="txtara" cols="49" rows="20"> </textarea> </p> <p class="area"> <input id="txt1" class="clsdoit" type="text" name="a"> <label id="lab1"></label> </p> <p class="area"> <input id="txt2" class="clsdoit" type="text" name="b"> <label id="lab2"></label> </p> <p class="area"> <input id="txt3" class="clsdoit" type="text" name="c"> <label id="lab3"></label> </p> <!--adding new--> <p class="area"> <input id="txt4" class="clsdoit" type="text" name="c"> <label id="lab4"></label> </p> <p class="area"> <input id="txt5" class="clsdoit" type="text" name="c"> <label id="lab5"></label> </p> <p class="area"> <input id="txt6" class="clsdoit" type="text" name="c"> <label id="lab6"></label> </p> <p class="area"> <input id="txt7" class="clsdoit" type="text" name="c"> <label id="lab7"></label> </p> <p class="area"> <input id="txt8" class="clsdoit" type="text" name="c"> <label id="lab8"></label> </p> <p class="area"> <input id="txt9" class="clsdoit" type="text" name="c"> <label id="lab9"></label> </p> <p class="area"> <input id="txt10" class="clsdoit" type="text" name="c"> <label id="lab10"></label> </p> <p class="area"> <input id="txt11" class="clsdoit" type="text" name="c"> <label id="lab11"></label> </p> <p class="area"> <input id="txt12" class="clsdoit" type="text" name="c"> <label id="lab12"></label> </p> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <input type="submit" name="submit" value="save" /> </form> </div> <style> .area{ margin-top: 5px; margin-bottom: 5px; } </style>
jquery codes
<script> $(document).ready(function() { doit(); function doit() { $('#txtara').highlighttextarea('destroy'); var $wrds = []; var txt1=$('#txt1').val(); if(txt1!="") { $wrds.push({ color: '#ffff00', words: $('#txt1').val() }); } if($('#txt2').val()!="") { $wrds.push({color: '#adf0ff', words: $('#txt2').val()}); } if($('#txt3').val()!="") { $wrds.push({color: '#ada0f0', words: $('#txt3').val()}); } if($('#txt4').val()!="") { $wrds.push({color: '#9fc1f0', words: $('#txt4').val()}); } if($('#txt5').val()!="") { $wrds.push({color: '#3eb5ac', words: $('#txt5').val()}); } if($('#txt6').val()!="") { $wrds.push({color: '#e7c4a9', words: $('#txt6').val()}); } if($('#txt7').val()!="") { $wrds.push({color: '#cee2ad', words: $('#txt7').val()}); } if($('#txt8').val()!="") { $wrds.push({color: '#8a6396', words: $('#txt8').val()}); } if($('#txt9').val()!="") { $wrds.push({color: '#380ced', words: $('#txt9').val()}); } if($('#txt10').val()!="") { $wrds.push({color: '#4ffb64', words: $('#txt10').val()}); } if($('#txt11').val()!="") { $wrds.push({color: '#9cf3c4', words: $('#txt11').val()}); } if($('#txt12').val()!="") { $wrds.push({color: '#e64f28', words: $('#txt12').val()}); } $('#txtara').highlighttextarea({ words: $wrds, debug: false, casesensitive: false }); }// end of doit func $(document.body).on('keyup', ".clsdoit", function(){ doit(); }); $(".text").on('keyup',function(){ search(); search1(); search2(); search3(); search4(); search5(); search6(); search7(); search8(); search9(); search10(); search11(); }); function setcharat(str,index,chr) { if(index > str.length-1) return str; return str.substr(0,index) + chr + str.substr(index+1); } function search(){ var = $('#txt1').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab1').html(totalcount); } function search1(){ var = $('#txt2').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab2').html(totalcount); } function search1(){ var = $('#txt2').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab2').html(totalcount); } function search2(){ var = $('#txt3').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab3').html(totalcount); } function search3(){ var = $('#txt4').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab4').html(totalcount); } function search4(){ var = $('#txt5').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab5').html(totalcount); } function search5(){ var = $('#txt6').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab6').html(totalcount); } function search6(){ var = $('#txt7').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab7').html(totalcount); } function search7(){ var = $('#txt8').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab8').html(totalcount); } function search8(){ var = $('#txt9').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab9').html(totalcount); } function search9(){ var = $('#txt10').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab10').html(totalcount); } function search10(){ var = $('#txt11').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab11').html(totalcount); } function search11(){ var = $('#txt12').val().tolowercase(); var totalcount=0; var value = $('.text').val().tolowercase(); var regex = /\s+/gi; var wordcount = value.trim().replace(regex, ' ').split(' ').length; var values = value.trim().replace(regex, ' '); for(var = 0; < value.length; i++) { var index = value.tolowercase().indexof(a); if(index > 0) { totalcount++; value = setcharat(value,index, '' ); } } $('#lab12').html(totalcount); } });
i havent used jquery highlighter plugin on order iterate on regex per sentence can while loop. have turn off use strict.
var mystr = 'textarea text etc. ..'; var reg = regexp='(^|\\.)([^\\.]*' + '(' + 'nokia' + '|' ' whatever' + '))+', 'g'); while(each = reg.exec(mystr)){ var sentence = each[0]; // use index position of reg relate position in textarea console.log(reg.lastindex); }
Comments
Post a Comment