Javascript 如何将阿拉伯语与字母分开?
如果你尝试这个链接。以后结果会是这样Javascript 如何将阿拉伯语与字母分开?,javascript,jquery,html,Javascript,Jquery,Html,如果你尝试这个链接。以后结果会是这样 PART 1 <p id="posttextareadisplay"> <p class="ENGLISH">This is a samplasde textssss</p> <p class="ENGLISH"><b>فَإِذَا جَلَسْتَ فِي وَسَطِ الصلَاةِ فَاطْمَئِن، وَافْتَرِشْ فَخِذَكَ الْيُسْرَى ثُ
PART 1
<p id="posttextareadisplay">
<p class="ENGLISH">This is a samplasde textssss</p>
<p class="ENGLISH"><b>فَإِذَا جَلَسْتَ فِي وَسَطِ الصلَاةِ فَاطْمَئِن، وَافْتَرِشْ فَخِذَكَ الْيُسْرَى ثُم تَشَهدْ</b></p>
</p>
PART 2
<p id="posttextareadisplay">
<p class="ENGLISH">This is a samplasde textssss <b>فَإِذَا جَلَسْتَ فِي وَسَطِ الصلَاةِ فَاطْمَئِن، وَافْتَرِشْ فَخِذَكَ الْيُسْرَى ثُم تَشَهدْ</b></p>
</p>
问题第2部分:但如果阿拉伯语与普通文字或常规字体结合使用。因此,段落或
保持class=“ENGLISH”
像这样
<p class="ENGLISH"> This is a sa <b> لْيُسْرَى ثُم تَشَهدْ</b></p>
<p class="ENGLISH"><b> لْيُسْرَى ثُم تَشَهدْ</b> This is a sa</p>
<p class="ENGLISH"> This is a sa <b> ا لْيُسْرَى ثُم تَشَهدْ</b> This is a sa</p>
<p class="ENGLISH"><b> لْيُسْرَى ثُم تَشَهدْ</b> This is a sa <b> لْيُسْرَى ثُم تَشَهدْ</b></p>
您可以使用带有不区分大小写标志的
i
的RegExp()
构造函数,从字符串“abcdefghijklmnopqrstuvwxyz”
创建RegExp
模式;使用循环迭代元素;如果元素的.textContent
以转换为RegExp
的字符串中的一个字符开头,或者元素的每个字符都以开头。textContent
是RegExp
中的一个字符,则将元素.className
设置为“英语”
,否则将元素.className
设置为“阿拉伯”
请注意,文档中元素的id
应该是唯一的。另外,
不是
元素的有效子元素
将父元素中的class=“posttextareadisplay”
替换为子元素中的
const en=“abcdefghijklmnopqrstuvxyz”;
对于(让el of document.queryselectoral(“.ENGLISH”)){
if(新的RegExp(`^[${en.slice(0,en.length-1)}]`,“i”).test(el.textContent)
||[…el.textContent].every(char=>
新的RegExp(`${char}`,“i”).test(en))){
el.className=“英语”
}否则{
el.className=“阿拉伯”
}
}
第1部分
这是一个samplasde textsss
فَإِذَا جَلَسْتَ فِي وَسَطِ الصلَاةِ فَاطْمَئِن، وَافْتَرِشْ فَخِذَكَ الْيُسْرَى ثُم تَشَهدْ
第二部分
这是一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本
您可以使用带有不区分大小写标志的i
构造函数的字符串“abcdefghijklmnopqrstuvwxyz”
创建RegExp
模式;使用循环迭代元素;如果元素的.textContent
以转换为RegExp
的字符串中的一个字符开头,或者元素的每个字符都以开头。textContent
是RegExp
中的一个字符,则将元素.className
设置为“英语”
,否则将元素.className
设置为“阿拉伯”
请注意,文档中元素的id
应该是唯一的。另外,
不是
元素的有效子元素
将父元素中的class=“posttextareadisplay”
替换为子元素中的
const en=“abcdefghijklmnopqrstuvxyz”;
对于(让el of document.queryselectoral(“.ENGLISH”)){
if(新的RegExp(`^[${en.slice(0,en.length-1)}]`,“i”).test(el.textContent)
||[…el.textContent].every(char=>
新的RegExp(`${char}`,“i”).test(en))){
el.className=“英语”
}否则{
el.className=“阿拉伯”
}
}
第1部分
这是一个samplasde textsss
فَإِذَا جَلَسْتَ فِي وَسَطِ الصلَاةِ فَاطْمَئِن، وَافْتَرِشْ فَخِذَكَ الْيُسْرَى ثُم تَشَهدْ
第二部分
这是一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一个上下一本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本本
如果使用您的代码,请工作,但不要键入任何内容。但如果我尝试在textrea列中键入。因此,阿拉伯语返回到ltr
键入不是OP中两个问题文本的一部分。哦,我的意思是,如果在函数arabtanpaparaf(str)
上输入函数,如果使用您的代码,工作但尚未键入任何内容,该怎么办。但如果我尝试在textrea列中键入。因此,阿拉伯语返回到ltr
输入不是OP中两个问题文本的一部分。哦,我的意思是,如果在函数arabtanpaparaf(str)
<p class="ENGLISH"> This is a sa <b> لْيُسْرَى ثُم تَشَهدْ</b></p>
<p class="ENGLISH"><b> لْيُسْرَى ثُم تَشَهدْ</b> This is a sa</p>
<p class="ENGLISH"> This is a sa <b> ا لْيُسْرَى ثُم تَشَهدْ</b> This is a sa</p>
<p class="ENGLISH"><b> لْيُسْرَى ثُم تَشَهدْ</b> This is a sa <b> لْيُسْرَى ثُم تَشَهدْ</b></p>
if (pattern.test(newText)) {
str = newText.replace($format_search[i], $arab_format_replace[i]);
} else {
str = newText.replace($format_search[i], $format_replace[i]);
}