Arabicsearch

by hm123

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-all-min.js"></script>
<input type="text" id="search_box_input" />
<input type='button' id='chkDuplicate' value="Click Me">

<div id="search" dir="rtl">
  
الم ﴿١﴾ ذَٰلِكَ الْكِتَابُ ; لَا رَيْبَ فِيهِ هُدًى لِّلْمُتَّقِينَ ﴿٢﴾ الَّذِينَ يُؤْمِنُونَ بِالْغَيْبِ وَيُقِيمُونَ الصَّلَاةَ وَمِمَّا رَزَقْنَاهُمْ يُنفِقُونَ ﴿٣﴾   
<br>   
<br>
الم ﴿١﴾ ذلك الكتاب لا ريب فيه هدى للمتقين ﴿٢﴾ الذين يومنون بالغيب ويقيمون الصلاة ومما رزقناهم ينفقون ﴿٣﴾    
<br>
وَوَصَّيْنَا الْإِنسَانَ بِوَالِدَيْهِ إِحْسَانًا ۖ حَمَلَتْهُ أُمُّهُ كُرْهًا وَوَضَعَتْهُ كُرْهًا ۖ وَحَمْلُهُ وَفِصَالُهُ ثَلَاثُونَ شَهْرًا ۚ حَتَّىٰ
<br> 
وَوَصَّيْنَا الْإِنسَانَ بِوَالِدَيْهِ إِحْسَانًا حَمَلَتْهُ أُمُّهُ كُرْهًا وَوَضَعَتْهُ كُرْهًا وَحَمْلُهُ وَفِصَالُهُ ثَلَاثُونَ شَهْرًا حَتَّى    
<br>    
séléction
<br>
SELECTION       
<div dir="ltr">

<br>

"hello<>:ــــــــــــ;'".,#%^@)( world" 
<br>    
"hello { world" 
<br>
hello world
<br>
"hello,world"
<br>
"hello world,"
<br>
",hello ,,,,world"
<br>
",hello,world,"
<br>
",hello , world,"  
<br>
",hello, world," 
<br>
",hello ,world,"    
<br>
", hello , world ,"
<br>
"$hello $ world$"
<br>
"hello $ world"
<br>
"hello$ world"
<br>
"hello $world"
<br>
"hello $world$"
<br>
"$###############hello world$"    
</div>    
    
</div>

CSS

.highlight { background: #FFFF40; }

JavaScript

$('#chkDuplicate').click(function () {
var txtbox = document.getElementById("search_box_input").value
//alert(txtbox);
$("#search").easymark('removeHighlight');
$("#search").easymark('highlight',txtbox);
});



(function($) {

var charToAccentedCharClassMap = {

"\u0623":'([\u0627\u0625\u0622\u0623]\\p{Mn}+|[\u0627\u0625\u0622\u0623])',
"\u0627":'([\u0627\u0625\u0622\u0623]\\p{Mn}+|[\u0627\u0625\u0622\u0623])',
"\u0625":'([\u0627\u0625\u0622\u0623]\\p{Mn}+|[\u0627\u0625\u0622\u0623])',
"\u0622":'([\u0627\u0625\u0622\u0623]\\p{Mn}+|[\u0627\u0625\u0622\u0623])',
"\u06D6":'(\u06D6\\p{Mn}+|\u06D6)',
"\u0628":'(\u0628\\p{Mn}+|\u0628)',
"\u062A":'(\u062A\\p{Mn}+|\u062A)',
"\u062B":'(\u062B\\p{Mn}+|\u062B)',
"\u062C":'(\u062C\\p{Mn}+|\u062C)',
"\u062D":'(\u062D\\p{Mn}+|\u062D)',
"\u062E":'(\u062E\\p{Mn}+|\u062E)', 
"\u062F":'(\u062F\\p{Mn}+|\u062F)',
"\u0630":'(\u0630\\p{Mn}+|\u0630)',
"\u0631":'(\u0631\\p{Mn}+|\u0631)',
"\u0632":'(\u0632\\p{Mn}+|\u0632)',
"\u0633":'(\u0633\\p{Mn}+|\u0633)',
"\u0634":'(\u0634\\p{Mn}+|\u0634)',
"\u0635":'(\u0635\\p{Mn}+|\u0635)',
"\u0636":'(\u0636\\p{Mn}+|\u0636)',
"\u0637":'(\u0637\\p{Mn}+|\u0637)',
"\u0638":'(\u0638\\p{Mn}+|\u0638)',
"\u0639":'(\u0639\\p{Mn}+|\u0639)',
"\u063A":'(\u063A\\p{Mn}+|\u063A)',
"\u0641":'(\u0641\\p{Mn}+|\u0641)',
"\u0642":'(\u0642\\p{Mn}+|\u0642)',
"\u0643":'(\u0643\\p{Mn}+|\u0643)',
"\u0644":'(\u0644\\p{Mn}+|\u0644)',
"\u0645":'(\u0645\\p{Mn}+|\u0645)',
"\u0646":'(\u0646\\p{Mn}+|\u0646)',
"\u0647":'(\u0647\\p{Mn}+|\u0647)',
"\u064A":'(\u064A\\p{Mn}+|\u064A)',
"\u0649":'(\u0649\\p{Mn}+|\u0649)',
"\u0626":'(\u0626\\p{Mn}+|\u0626)',
"\u0621":'(\u0621\\p{Mn}+|\u0621)',
"\u0629":'(\u0629\\p{Mn}+|\u0629)',
"\u0648":'([\u0624\u0648]\\p{Mn}+|[\u0624\u0648])',
"\u0624":'([\u0624\u0648]\\p{Mn}+|[\u0624\u0648])',
"\u0640":'([\u0640]\\p{Mn}+|[\u0640])',
};

	 function Normlise(s,stripedflag ,caseflag) {
                        // = s.toLowerCase();
                        
	                    var r = s;
						
        ...