我如何验证语言? ASP.NET

时间:2010-02-14 17:52:52

标签: c# asp.net validation

在应用程序的文本框中,我需要验证以确保用户只输入英语文本。我知道一些语言如西班牙语共享英文字母。如何验证文本以确保它是:

  • 仅限英语
  • 仅支持使用英语字符集(西班牙语等)的语言

由于

编辑:抱歉不够清楚。这个应用程序正在生产中,当我检查存储文本的SQL数据库时,有很多行有“??? ?????”。在进一步调查时,似乎这是在将非英语语言文本保存到数据库时引起的。例如,转到谷歌新闻,从下拉列表中选择谷歌韩国,复制一些韩文文本并将其保存到SQL服务器数据库

任何?

4 个答案:

答案 0 :(得分:0)

一种方法是使用英语词典/拼写检查,如果是有效的英语/西班牙语单词

这是一个非常好的样本

简单如下

NetSpell.SpellChecker.Spelling SpellChecker = 
             new NetSpell.SpellChecker.Spelling SpellChecker()

SpellChecker.Text = MyTextBox.Text;
SpellChecker.SpellCheck();

NetSpell主页:http://www.loresoft.com/NetSpell

答案 1 :(得分:0)

您可以尝试检查英语词典(例如,OpenOffice有一个您可以免费使用的词典,但不确定这个词典),如果这个词典识别出大部分用过的词。

您还可以进行某种文本分析,并检查每个字符的出现或“th”等短序列。每种语言都有特定的字符出现,这可以帮助您确定文本的编写语言。

我不会禁止某些字符,因为至少在名称中会出现特殊字符。

我希望你能了解一些可能性 最诚挚的问候,Oliver Hanappi

答案 2 :(得分:0)

如果这是适量的文本,您可以尝试查找英语词典Web服务并尝试查找单词。如果查找失败,您很可能有拼写错误或其他语言的东西。我没有找到一个接受大块文本的文件,但有一个Web服务在dict.org数据库之外运行:

DictService

答案 3 :(得分:0)

通过“英文字符集”,我猜您指的是ASCII character set

您可以遍历每个字符并查看它是否位于ASCII范围内。