如何使用Javascript在html表单中验证类型为text的输入标记,其内容将为Arabic / Englsih / Number?

时间:2011-10-01 11:40:53

标签: javascript numbers validation

如何使用Javascript在html表单中验证文本类型的输入标记,其内容将是以下之一: -

  • 仅限阿拉伯语或英语字符 - 或 -
  • 阿拉伯语和英语字符 - 或 -
  • 仅限阿拉伯字符-OR -
  • 仅限英文字符-OR -
  • 仅限数字-OR -
  • 仅限阿拉伯字符和数字-OR -
  • 仅限英文字符和数字-OR -
  • 阿拉伯语或数字仅 - 或 -
  • 仅限英文字符或数字 - 或 -
  • 阿拉伯语或英语字符或数字仅 - 或 -
  • 电话号码-OR -
  • 电邮-OR -
  • 以特定字符开头的英文字符串,例如'A'-OR -
  • 以特定字符结尾的英文字符串,例如'A'-OR -
  • 包含特定字符的英文字符串,例如'A'-OR -
  • 不包含特定字符的英文字符串,例如'A'

提前致谢..

1 个答案:

答案 0 :(得分:4)

首先,我需要“英语”,“阿拉伯语”和“数字”字符的定义。

  1. 英文字符边界的定义至少应包括a-z,A-Z。还应包括非单词字符(逗号,点,括号),但由于您没有指定验证的目的,我将这些限制为az,AZ。
    英语RegExp:[a-zA-Z]
  2. 我不熟悉阿拉伯语,所以我抓住了this source所定义的所有字符。
    RegExp:/[\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]/
  3. 这些数字定义为\d(在JavaScript中:0-9)。
    RegExp:\d(在JavaScript中等于[0-9]
  4. 使用正则表达式,字符串的开头和结尾由^$匹配。
  5. 汇集在一起​​:

    • 仅限阿拉伯语和/或英语字符 - 或者/^[a-zA-Z\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$
    • 仅限阿拉伯字符 - 或 - /^[\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$/
    • 仅限英文字符 - 或 - /^[a-zA-Z]+$/
    • 仅限数字 - 或 - /^\d+$/
    • 阿拉伯字符和/或仅限数字 - 或 - /^[\du0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$
    • 仅限英文字符和/或数字 - 或 - /^[\dA-Za-z]+$/
    • 阿拉伯语和/或英语字符和/或号码 - 或 - /^[a-zA-Z\d\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$/
    • 电话号码-OR- 电话号码过于依赖于语言环境,构建您自己的RE
    • 电子邮件 - 或 - ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$ source 2 (非常基本的邮件RegExp)

    • 以特定字符开头的英文字符串,例如“A” - 或 - /^A/
    • 以“A”-OR-
      /A$/
    • 等特定字符结尾的英文字符串
    • 包含特定字符的英文字符串,例如“A” - 或 - /A/
    • 不包含特定字符的英文字符串,例如“A”^[^A]+$

    当然,如果你要验证句子,英文字符集应该包含比a-zA-Z更多的字符。我建议使用[\x20-\x7e]代替[a-zA-Z],因此也可以使用常用的标点字符。

    <小时/>

    参考文献/参见