有没有办法检查字符串是否只包含给定语言的字符? (例如日语,希伯来语,阿拉伯语)
我想知道在Javascript \ Jquery和c#中是否有实现这种验证的方法?
修改
我不愿意检查字符串是否包含特定语言字典的有效单词。我想验证所有字符都属于那种语言。
答案 0 :(得分:4)
@CD,所以你肯定能做到。
在C#中,只需:
string str = "this text has arabic characters";
bool hasArabicCharacters = str.Any(c => c >= 0xFB50 && c <= 0xFEFC);
答案 1 :(得分:0)
也许使用UNICODE charset的正则表达式?
答案 2 :(得分:0)
不,你无法检查确切的语言。您只能检查其他语言中没有的字符。例如,cyriclics,象形文字等。 与提示一样,您可以使用google translate api来定义用户输入文本的语言。
答案 3 :(得分:0)
internal bool HasArabicCharacters(string text)
{
Regex regex = new Regex(
"[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");
return regex.IsMatch(text);
}
答案 4 :(得分:0)
这是针对阿拉伯文的,但我没有为其他语言测试
^[\u0621-\u064A\040]+$