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

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

谢谢。

最佳答案

根据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...]'});
    

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

    10-05 20:49
    查看更多