使用jQuery过滤输入文本

时间:2012-04-10 10:08:16

标签: javascript jquery filtering html-input

我想过滤并锁定输入文字。例如,在某些输入中,用户只能键入波斯语/波斯语字符而不能输入英语,或者用户可以键入英语而不能输入波斯语。意味着某些输入仅接受波斯语/波斯语字符,而其他输入仅接受英语。

我也发现了http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input。如果知道波斯人物的任何常规表现都可以帮助我 或者如何改变键盘模式。

感谢。

1 个答案:

答案 0 :(得分:5)

根据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个字符)
  • Rumi数字符号(10E60-10E7F,31个字符)
  • 阿拉伯数学字母符号(1EE00-1EEFF,143个字符)

在这种情况下,在表达式中添加所需的范围:
例如/^[\u0600-\u06FF\u0750-\077F\u0...]+$/g

因此,使用您提到的代码段,您应该写

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

希望这会有所帮助。 السلامعليكم