Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带阿拉伯语表达的正则表达式_Javascript_Jquery_Html_Regex_Arabic - Fatal编程技术网

Javascript 带阿拉伯语表达的正则表达式

Javascript 带阿拉伯语表达的正则表达式,javascript,jquery,html,regex,arabic,Javascript,Jquery,Html,Regex,Arabic,如何让Javascript通过正则表达式忽略阿拉伯语表达式? 例如,我希望و和ؤ是平等的,ااَاِ是平等的,等等。请帮忙。非常感谢。解决方案是将重音字母转换为非重音等效字母,以便更容易检查它们是否相等 下面是一个简单的代码,可以帮助您识别重音,然后用原始字母替换 变量noacentorigin={ 'ك': 'ک', 'ﻷ': 'لا', 'ؤ': 'و', 'ى': 'ی', 'ي': 'ی', 'ئ': 'ی', 'أ': 'ا', 'إ': 'ا', 'آ': 'ا', 'ٱ': 'ا

如何让Javascript通过正则表达式忽略阿拉伯语表达式?
例如,我希望و和ؤ是平等的,ااَاِ是平等的,等等。请帮忙。非常感谢。

解决方案是将重音字母转换为非重音等效字母,以便更容易检查它们是否相等

下面是一个简单的代码,可以帮助您识别重音,然后用原始字母替换

变量noacentorigin={ 'ك': 'ک', 'ﻷ': 'لا', 'ؤ': 'و', 'ى': 'ی', 'ي': 'ی', 'ئ': 'ی', 'أ': 'ا', 'إ': 'ا', 'آ': 'ا', 'ٱ': 'ا', 'ٳ': 'ا', 'ة': 'ه', 'ء': , 'ِ': , 'ْ': , 'ُ': , 'َ': , 'ّ': , 'ٍ': , 'ً': , 'ٌ': , 'ٓ': , 'ٰ': , 'ٔ': , '�': } var accentRemover=functionstr{ 返回str.replace/[^\u0000-\u007E]/g,函数{ 返回noacentorigin[a]==未定义?a:noacentorigin[a]; }; } var stringToTest=‘اآاَاِ’ console.log“原始字符串:”+stringToTest console.log“转换字符串:”+AccentRemoveStringToTest //测试示例 console.log'Isؤ和و是否相等?:'
console.logaccentRemover'ؤ'==accentRemover'و'解决方案是将重音字母转换为非重音等效字母,这样就更容易检查它们是否相等

下面是一个简单的代码,可以帮助您识别重音,然后用原始字母替换

变量noacentorigin={ 'ك': 'ک', 'ﻷ': 'لا', 'ؤ': 'و', 'ى': 'ی', 'ي': 'ی', 'ئ': 'ی', 'أ': 'ا', 'إ': 'ا', 'آ': 'ا', 'ٱ': 'ا', 'ٳ': 'ا', 'ة': 'ه', 'ء': , 'ِ': , 'ْ': , 'ُ': , 'َ': , 'ّ': , 'ٍ': , 'ً': , 'ٌ': , 'ٓ': , 'ٰ': , 'ٔ': , '�': } var accentRemover=functionstr{ 返回str.replace/[^\u0000-\u007E]/g,函数{ 返回noacentorigin[a]==未定义?a:noacentorigin[a]; }; } var stringToTest=‘اآاَاِ’ console.log“原始字符串:”+stringToTest console.log“转换字符串:”+AccentRemoveStringToTest //测试示例 console.log'Isؤ和و是否相等?:'
console.logaccentRemover'ؤ'==accentRemover'و'我对此做了一些思考,您真正需要的是使用具有基本级别的Unicode排序算法来很好地分析问题,并查看答案,我建议使用以灵敏度为基础的函数

我对此做了一些思考,您也做了一些思考真正需要的是将Unicode排序算法与一个基本级别结合使用,给出了问题的详细说明,并查看了我建议使用的以灵敏度为基础的函数的答案 但我想要的是,当我搜索و时,javascript也会在搜索中包含ؤ,这意味着函数不应该删除重音,而应该添加重音。谢谢,非常感谢

变量noacentorigin={ 'ك': 'ک', 'ﻷ': 'لا', 'ؤ': 'و', 'ى': 'ی', 'ي': 'ی', 'ئ': 'ی', 'أ': 'ا', 'إ': 'ا', 'آ': 'ا', 'ٱ': 'ا', 'ٳ': 'ا', 'ة': 'ه', 'ء': , 'ِ': , 'ْ': , 'ُ': , 'َ': , 'ّ': , 'ٍ': , 'ً': , 'ٌ': , 'ٓ': , 'ٰ': , 'ٔ': , '�': } var accentRemover=functionstr{ 返回str.replace/[^\u0000-\u007E]/g,函数{ 返回noacentorigin[a]==未定义?a:noacentorigin[a]; }; } var stringToTest=‘اآاَاِ’ console.log“原始字符串:”+stringToTest console.log“转换字符串:”+AccentRemoveStringToTest //测试示例 console.log'Isؤ和و是否相等?:' console.logaccentRemover'ؤ'==accentRemover'و' 但我想要的是,当我搜索و时,javascript也会在搜索中包含ؤ,这意味着函数不应该删除重音,而应该添加重音。谢谢,非常感谢

变量noacentorigin={ 'ك': 'ک', 'ﻷ': 'لا', 'ؤ': 'و', 'ى': 'ی', 'ي': 'ی', 'ئ': 'ی', 'أ': 'ا', 'إ': 'ا', 'آ': 'ا', 'ٱ': 'ا', 'ٳ': 'ا', 'ة': 'ه', 'ء': , 'ِ': , 'ْ': , 'ُ': , 'َ': , 'ّ': , 'ٍ': , 'ً': , 'ٌ': , 'ٓ': , 'ٰ': , 'ٔ': , '�': } var accentRemover=functionstr{ 返回str.replace/[^\u0000-\u007E]/g,函数{ 返回noacentorigin[a]==未定义?a:noacentorigin[a]; }; } var stringToTest=‘اآاَاِ’ console.log“原始字符串:”+stringToTest console.log“转换字符串:”+AccentRemoveStringToTest //测试示例 console.log'Isؤ和و是否相等?:'
console.logaccentRemover'ؤ'==accentRemover'و'?这是一个很好的问题。Salam:您可能需要添加到目前为止尝试过的解决方案,因为您不能只要求别人为您做一些工作,我们在这里只是为了帮助您解决代码中的问题。如果您想忽略它,您不想忽略什么?如果你想平等对待这些符号,在什么样的背景下?你想达到什么目标?请注意,很遗憾我不懂阿拉伯语,所以对我来说,

这些只是一些没有任何意义的符号。你能给我们这些不识字的人提供Unicode字符名和/或Unicode代码点吗Arabic@JGNI将它们作为字符串复制到浏览器控制台中,并使用string.prototype.codePointAt,在本例中甚至可能使用string.prototype.charCodeAt。谷歌也应该很快给出这些符号的名称,例如,为什么投反对票?这是一个很好的问题。Salam:您可能需要添加到目前为止尝试过的解决方案,因为您不能只要求别人为您做一些工作,我们在这里只是为了帮助您解决代码中的问题。如果您想忽略它,您不想忽略什么?如果你想平等对待这些符号,在什么样的背景下?你想达到什么目标?请注意,很遗憾,我不懂阿拉伯语,所以对我来说,这些只是一些没有任何意义的符号。你能为我们这些不懂阿拉伯语的人提供Unicode字符名和/或Unicode代码点吗Arabic@JGNI将它们作为字符串复制到浏览器控制台中,并使用String.prototype.codePointAt,在本例中,甚至可能使用String.prototype.charCodeAt。谷歌也应该快速给出符号的名称,例如,unicode数字没有模式,是吗?比如你如何从a中减去32来大写它?或者用某种方法把它分成实际的组成部分,去掉口音?嗨,玛丽,这是个好主意!让我做一些研究first@Marie我不这么认为。问题是不仅仅有两个字符a和a,还有更多的:所有的أ和إ和ا,和ا和ا,和ا和ا,还有更多的都有相同的起源/根,即ا。根据字母的不同,可能会有更少或更多。@NejiSoltani您可以在一个正则表达式中替换所有的重音,如下所示:.replace/[[1616; 1616;ًٍَُْ]/g,我正在研究解决方案阿拉伯语字母非常困难unicode数字没有模式,是吗?比如你如何从a中减去32来大写它?或者用某种方法把它分成实际的组成部分,去掉口音?嗨,玛丽,这是个好主意!让我做一些研究first@Marie我不这么认为。问题是不仅仅有两个字符a和a,还有更多的:所有的أ和إ和ا,和ا和ا,和ا和ا,还有更多的都有相同的起源/根,即ا。根据字母的不同,可能会有更少或更多。@NejiSoltani您可以替换一个正则表达式中的所有重音,如下所示:.replace/[[1616;ًٍَُِْ]/g,我正在研究这个解决方案,对于阿拉伯语字母来说这非常困难