如何在RegEx中检查波斯尼亚特有的字符?

2022-04-04 00:00:00 regex special-characters javascript

我有这个正则表达式模式,它非常简单,它验证提供的字符串是否为"Alpha"(大写和小写):

var pattern = /^[a-zA-Z]+$/gi;

当我触发pattern.test('Zlatan Omerovic')时,它返回true,但如果I:

pattern.test('Zlatan Omerović');

它返回false并且未通过我的验证。

在波斯尼亚语中,我们有以下特定字符:

š đ č ć ž

和升序:

Š Đ Č Ć Ž

是否可以使用JavaScript正则表达式验证这些字符(两种情况)?


解决方案

当然,您只需将这些字符添加到匹配的字符列表中即可。此外,由于您执行的是不区分大小写的匹配(i标志),因此不需要大写字符。

var pattern = /^[a-zšđčćž ]+$/gi;

此处小提琴:http://jsfiddle.net/ryanbrill/KB74b/

这里有一个替代模式,它使用Unicode表示形式,这可能更好(例如,如果文件没有以正确的编码保存,则嵌入字符将不起作用)

var pattern = /^[a-zu0161u0111u010Du0107u017E ]+$/gi;

http://jsfiddle.net/ryanbrill/KB74b/2/

相关文章