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