【发布时间】:2013-04-12 22:05:36
【问题描述】:
我有这个正则表达式模式,它非常简单,它验证提供的字符串是否为“alpha”(大写和小写):
var pattern = /^[a-zA-Z]+$/gi;
当我触发pattern.test('Zlatan Omerovic') 时,它会返回true,但是如果我:
pattern.test('Zlatan Omerović');
它返回false,但我的验证失败。
在波斯尼亚语中,我们有这些特定的字符:
š đ č ć ž
大写:
Š Đ Č Ć Ž
是否可以使用 JavaScript 正则表达式验证这些字符(两种情况)?
【问题讨论】:
-
是的,你试过什么?提示:只需在方括号之间添加。
-
@FabrícioMatté - 令人惊讶的是,你在问题中看到的 :)
-
我的意思是,看起来您只是复制了一些验证字母字符的正则表达式,但没关系。如果您查看这些方括号的含义 - character class - 您就会知道如何修复此类正则表达式。
-
@FabrícioMatté:角色类
a-z很可能包含š到波斯尼亚人。它不在 JavaScript 中,但从非英语的角度来看,这并没有使其不合逻辑。 -
@T.J.Crowder 我相信 JS 的字符类的范围是基于 ASCII 码的,不是吗?在这种情况下, a-z 仅表示字符 97-122(以及带有不区分大小写标志的 65-90)。或者这些是基于 UTF-8 的,不确定。
标签: javascript regex special-characters