2012-04-10 63 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...]'}); 

希望这有助于。 السلامعليكم