正则表达式不适用于至少一个欧洲角色

时间:2015-06-12 08:21:49

标签: javascript regex

我正在检查我的字符串是否至少包含一个欧洲语言的字符(例如:德语,西班牙语,英语等...)

我尝试了以下内容:

var check = "abc";

if(check.match(/^[a-zA-ZäöåÄÖÅ]+$/)){
               alert("if");
               }
   else{
   alert("else");
   }

它应该只有至少具有欧洲语言字符才有效。如果只是数字,不应该工作。请指导我们!!

1 个答案:

答案 0 :(得分:9)

您只需要移除锚点和量词,然后使用test

alert(/(?![×÷])[A-Za-zÀ-ÿ]/.test("ß1111"))
alert(/(?![×÷])[A-Za-zÀ-ÿ]/.test("ö"))
alert(/(?![×÷])[A-Za-zÀ-ÿ]/.test("12345"))

(?![×÷])[A-Za-zÀ-ÿ]正则表达式是对Useful ASCII Ranges中提供的正则表达式的修改。它将捕获所有拉丁和重音字符。

您可以使用更多language-related character ranges

法语来信:[a-zA-ZàâäôéèëêïîçùûüÿæœÀÂÄÔÉÈËÊÏΟÇÙÛÜÆŒ]

德语来信:[a-zA-ZäöüßÄÖÜ]

波兰语仅限信件:[a-pr-uwy-zA-PR-UWY-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]注意表示没有QVX波兰语,但如果您也想允许所有英文字母,请使用[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]

意大利语来信:[a-zA-ZàèéìíîòóùúÀÈÉÌÍÎÒÓÙÚ]

西班牙语来信:[a-zA-ZáéíñóúüÁÉÍÑÓÚÜ]

还有一些......

瑞典语[a-zA-ZäöåÄÖÅ]link

挪威语[a-zA-ZæøåÆØÅ]link

丹麦语(与挪威语相同):[a-zA-ZæøåÆØÅ]link

希腊语& Coptic + Greek Extended [\u0370-\u03FF\u1F00-\u1FFF]link

俄语[а-яА-ЯёЁ]link

乌克兰语[а-щА-ЩЬьЮюЯяЇїІіЄєҐґ]link

塞尔维亚语(西里尔语)[А-ИК-ШЂЈ-ЋЏа-ик-шђј-ћџ]link

保加利亚语(俄语字母的子集):[а-ъьюяА-ЪЬЮЯ]link

白俄罗斯语脚本范围:[ёа-зй-шы-яЁА-ЗЙ-ШЫІіЎў]link

罗马尼亚语[a-zA-ZĂÂÎȘȚăâîșț]link