在Javascript中检查字符是否为任何书面语言中的元音的最佳方法

在Javascript中检查字符是否为任何书面语言中的元音的最佳方法,javascript,regex,multilingual,Javascript,Regex,Multilingual,我已经检查了其他答案,它们只针对元音“aeiouy”,是否有一个简单的检查任何和所有元音-包括其他字母表,如德语中的“ü”元音 var easy = 'a'; var hard = 'ü'; var etc = 'ö'; var andSoOn = 'あ'; 如果这是一个创建循环并对照循环进行检查的问题,就像在这个问题的选定答案中一样,是否有要使用的已知元音列表?只需将所需的字符添加到字符类: [aeiouüöあ]+ 使用正则表达式测试字符串的元音范围 var patt = /[üaö]/

我已经检查了其他答案,它们只针对元音“aeiouy”,是否有一个简单的检查任何和所有元音-包括其他字母表,如德语中的“ü”元音

var easy = 'a';
var hard = 'ü';
var etc = 'ö';
var andSoOn = 'あ';

如果这是一个创建循环并对照循环进行检查的问题,就像在这个问题的选定答案中一样,是否有要使用的已知元音列表?

只需将所需的字符添加到字符类:

[aeiouüöあ]+

使用正则表达式测试字符串的元音范围

var patt = /[üaö]/ //all values
var match = patt.test('ddddüdddd'); //string to match against, returns true or false
alert(match); //will return true because of the german vowel
是否有一个简单的方法来检查所有元音

是否有已知的可能元音列表

如果你想准确的话就不要了。看看维基百科:

在基于拉丁字母表的书写系统中,字母A、E、I、O、U,有时还有Y都用来表示元音。然而,并非所有这些字母都代表所有语言中的元音,甚至在一种语言中也不一致(其中一些字母,特别是W和Y,也用于表示近似词)。此外,元音可能由通常为辅音保留的字母或字母组合来表示,尤其是一个字母同时代表多个声音,反之亦然;英语中的例子包括“大腿”中的igh和“x射线”中的x。此外,拉丁字母表的扩展部分有独立的元音字母,如Ä、Ö、Ü、Æ和Ø

其他语言也以类似的方式处理拉丁元音字母数量的限制。许多语言广泛使用字母组合来表示各种声音。其他语言使用元音字母进行修改,如斯堪的纳维亚语和北欧语中的Ä,或在元音中添加变音符号,如umlauts,以表示可能的元音发音的多样性。一些语言还通过其他方式修改标准拉丁元音来构造额外的元音字母,例如在一些斯堪的纳维亚语言中发现的æ或ø

用于书写闪族语言的字母表,如希伯来字母表和阿拉伯字母表,通常不会标记所有元音,因为它们在识别单词时通常是不必要的


总之,您需要首先识别语言,然后需要该语言元音的一组规则,然后需要规则的例外列表。

与尝试建立一个大符号列表不同的方法是使用语音表示法。 此表示形式中的元音是以下Unicode代码点:

当然,这将负担转移到为每种语言找到合适的语音翻译上


这会给你一个印象,总的来说,你的任务是多么艰巨

谢谢你的回答——在我问题的最后,我说如果这是一种方法——有可能的元音的已知列表吗?@Qro,不!我不是德国人!只要谷歌,你就会得到它。并确保你接受答案;)所有语言的元音字符,不仅仅是德语。如果没有另一个更好的答案,我会接受的。谢谢。@Qro,接受任何对你有帮助的答案吧。我说只接受答案,而不是我的答案;)不要再加了易, 霧, 二, 破, 餓, 怕, 玉, 夜, 累, 豆, 帶, 道 ... :-)您将如何处理许多复合符号,例如在日本。苹果的名字是ringo(发音像披头士音乐家ringo),写的是りんご 或林檎. 有一个“i”元音隐藏在那里。非常好的观点和很好的方法。最后,我们将任务范围缩小为“拉丁”元音,但就原始范围而言,我觉得这将是一个很好的方法。