0

我想验证文本 html 以使其仅接受阿拉伯字符。如何使用 java 脚本进行此操作。

4

3 回答 3

1

尝试这样的事情:

function arabicOnly(e){
  var unicode=e.charCode? e.charCode : e.keyCode
  if (unicode!=8){ //if the key isn't the backspace key (which we should allow)
      if (( unicode<48 || unicode>57) && (unicode < 0x0600 || unicode > 0x06FF)) //if not a number or arabic
        return false //disable key press
  }
}

取自此处并根据此处的信息进行了改编

于 2012-04-28T15:17:02.483 回答
1
  1. 由于 JavaScript 缺少与某些脚本匹配的内置类,因此您需要查阅Unicode 代码图表并选择所需的范围。我在阿拉伯语方面不是那么专业,所以我猜你至少需要阿拉伯语 (600-6ff)、阿拉伯语补充 (750-77f) 和阿拉伯语扩展 A (8a0-8ff)。
  2. 构造一个匹配仅由这些字符组成的字符串的正则表达式:/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF]$/
  3. 如果您有一个或使用许多 JavaScript 表单验证库中的任何一个(只需在任何引擎中搜索这些词以快速找到一个),请在您自己的验证函数中使用它。

此外,如果您使用的库允许否定检查,您可以反转范围以避免扫描整个字符串并在第一个错误字符上保释:/[^\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF]/.

于 2012-04-28T15:23:20.573 回答
0

您需要使用正则表达式。
阅读:
http ://www.javascriptkit.com/javatutors/redev3.shtml

于 2012-04-28T15:14:49.470 回答