我正在检查我的字符串是否包含至少一个欧洲语言的字符(例如:德语,西班牙语,英语等...)
我尝试过如下:
var check = "abc";
if(check.match(/^[a-zA-ZäöåÄÖÅ]+$/)){
alert("if");
}
else{
alert("else");
}
Run Code Online (Sandbox Code Playgroud)
它应该只有至少具有欧洲语言特征才有效.如果只是数字,不应该工作.请指导我们!!
您只需要删除锚点和量词并使用test:
alert(/(?![×÷])[A-Za-zÀ-ÿ]/.test("ß1111"))
alert(/(?![×÷])[A-Za-zÀ-ÿ]/.test("ö"))
alert(/(?![×÷])[A-Za-zÀ-ÿ]/.test("12345"))Run Code Online (Sandbox Code Playgroud)
(?![×÷])[A-Za-zÀ-ÿ]正则表达式是有用的ASCII范围中提供的正则表达式的改编.它将捕获所有拉丁和重音字符.
法语字母:[a-zA-ZàâäôéèëêïîçùûüÿæœÀÂÄÔÉÈËÊÏΟÇÙÛÜÆŒ]
德文字母:[a-zA-ZäöüßÄÖÜ]
波兰只快报:[a-pr-uwy-zA-PR-UWY-Z?????ó????????Ó???](注意没有Q,V而X在波兰,但如果你想允许所有英文字母为好,使用[a-zA-Z?????ó????????Ó???])
意大利语字母:[a-zA-ZàèéìíîòóùúÀÈÉÌÍÎÒÓÙÚ]
西班牙语信件:[a-zA-ZáéíñóúüÁÉÍÑÓÚÜ]
还有一些......
瑞典:[a-zA-ZäöåÄÖÅ](链接)
挪威:[a-zA-ZæøåÆØÅ](链接)
希腊和科普特+希腊扩展:[a-zA-ZæøåÆØÅ](链接)
俄罗斯:[\u0370-\u03FF\u1F00-\u1FFF](链接)
乌克兰:[?-??-???](链接)
塞尔维亚语(西里尔文):[?-??-???????????????](链接)
保加利亚(俄语字母的子集): [?-??-???-???-??-???-??](链接)
白俄罗斯脚本范围:[?-?????-????](链接)
罗马尼亚:[??-??-??-???-??-??????](链接)