2012-04-10 108 views
3

我想過濾並鎖定輸入文本。例如,在某些輸入中,用戶只能輸入波斯語/波斯語字符,而不能輸入英文,或者當用戶輸入英文而不輸入波斯語時。意思是一些輸入只接受波斯語/波斯語字符,而其他輸入只接受英語。使用jQuery過濾輸入文本

另外我發現了這個http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input。如果知道波斯人字符的任何常規experssion可以幫助我 或如何更改鍵盤模式。

謝謝。

回答

4

根據Unicode characters的列表,您似乎需要檢查unicode範圍U+0600-U+06FF中的符號。

所以,如果你想防止插入每一個其他的Unicode符號,你可以簡單地檢查您的輸入值與/^[\u0600-\u06FF]+$/g正則表達式。另請注意,您可能想要允許的許多unicode範圍。從Arabic charset in Unicode頁,阿拉伯語旁邊(0600-06FF,225個字符),你必須

  • 阿拉伯語補充(0750-077F,48個字符)
  • 阿拉伯語擴展-A(08A0-08FF,39個字符)
  • 阿拉伯表達形式-A(FB50-FDFF,608個字符)
  • 阿拉伯表達形式-B(FE70-FEFF,140個字符)
  • 魯米標號符號(10E60-10E7F,31個字符)
  • 阿拉伯數學Alphabe
    例如:抽動符號(1EE00-1EEFF,143個字符)
在這種情況下,作爲

在表達式中需要添加任意數量的範圍/^[\u0600-\u06FF\u0750-\077F\u0...]+$/g

因此,使用片斷你提到,你應該寫

$('#text_input').filter_input({regex:'[\u0600-\u06FF\u0750-\077F\u0...]'}); 

希望這有助於。 السلامعليكم