2010-02-14 95 views
0

在應用程序的文本框中,我需要驗證以確保用戶只輸入英文文本。我知道西班牙語等一些語言分享英文字母。如何驗證文本,以確保它是:如何驗證語言? ASP.NET

  • 只有在英語
  • 僅支持使用英語字符集語言(西班牙語等)

感謝

編輯:對不起,不夠清楚。這個應用程序正在生產,當我檢查存儲文本的SQL數據庫時,有很多帶有「??? ?????」的行。在進一步調查中,看起來這是由於將非英文文本保存到數據庫時造成的。作爲一個例子,去谷歌新聞,從下拉列表中選擇谷歌韓國,複製一些韓國文本,並將其保存到SQL服務器數據庫

任何人?

+2

是「Zeitgeist」英語還是德語? 「恐懼症」?這兩者都可以是德國人。你能分享你的動機嗎?到目前爲止,對我來說似乎是不可能的 - 或者我還沒有得到它。 – 2010-02-14 17:56:49

+1

詢問用戶你是英文的嗎?它是一個信任的東西:P – slayerIQ 2010-02-14 18:04:13

+0

將它保存爲nchar(unicode)以獲得韓文 – Paparazzi 2013-01-26 19:13:49

回答

0

通過「英語字符集」,我猜ASCII character set

您可以遍歷每個字符並查看它是否位於ASCII範圍內。

+0

是的,你是對的。任何想法如何驗證,以確保每個字符在ASCII範圍內?有沒有辦法驗證整個文本塊,而不是通過字符char? – Nick 2010-02-17 14:24:45

+0

我不知道有什麼方法可以完成整個文本塊。 – Subbu 2010-02-18 06:04:47

0

的方法之一是使用英語詞典/拼寫檢查,如果是有效的英語/西班牙語單詞

一個很好的樣本是這樣

這是因爲簡單如下

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

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

NetSp ell主頁:http://www.loresoft.com/NetSpell

0

您可以嘗試檢查英語詞典(例如: OpenOffice有一本你可以免費使用的字典,但不確定)如果大部分使用過的單詞都被本字典識別。

你也可以做一些文本分析,並檢查每個字符或像'th'等短序列的發生等。每種語言都有特定的字符發生,這可以幫助您確定文字的寫法。

我不會禁止某些字符,因爲至少在名稱中特殊字符經常出現。

我希望你有一些可能性的想法。
最好的問候,奧利弗Hanappi

0

如果這是文本的一個比較小的金額,你可以嘗試找一本英語詞典Web服務,並嘗試查單詞。如果查找失敗,您很可能會有其他語言的拼寫錯誤或其他內容。我還沒有找到一個接受大段的文字,但有經營關dict.org數據庫的Web服務:您指的是

DictService