3

我想过滤和锁定输入文本。例如,在某些输入中,用户只能输入波斯语/波斯语字符而不能输入英语,或者当用户可以输入英语但不能输入波斯语时。表示某些输入仅接受波斯语/波斯语字符,而其他输入仅接受英语。

我还发现了这个http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input。如果知道波斯字符的任何常规表达可以帮助我或如何更改键盘模式。

谢谢。

4

1 回答 1

5

根据Unicode 字符列表,您似乎需要检查 unicode 范围内的符号U+0600-U+06FF

因此,如果您想防止插入所有其他 unicode 符号,您可以简单地根据/^[\u0600-\u06FF]+$/g正则表达式检查您的输入值。另请注意,您可能希望允许许多 unicode 范围。从Unicode 中的阿拉伯语字符集页面,除了阿拉伯语(0600—06FF,225 个字符)之外,您还有

  • 阿拉伯语增补(0750—077F,48 个字符)
  • 阿拉伯语扩展 A(08A0—08FF,39 个字符)
  • 阿拉伯语演示表格-A(FB50-FDFF,608 个字符)
  • 阿拉伯语演示表格-B(FE70—FEFF,140 个字符)
  • 鲁米数字符号(10E60—10E7F,31 个字符)
  • 阿拉伯数学字母符号(1EE00—1EEFF,143 个字符)

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

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

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

希望这可以帮助。السلام عليكم

于 2012-04-10T10:39:29.837 回答