【问题标题】:Validating client-side data input using a pattern使用模式验证客户端数据输入
【发布时间】:2022-01-25 02:38:45
【问题描述】:

我目前正在开展一个项目,通过该项目可以通过网站将数据添加到数据库中。目前我已经设法配置它,以便表单接受标题、邮政编码、车辆登记和身份证号码。

Javascript 验证对这些条目工作正常,但 ID 号除外。所有 ID 号都是特定格式(2 个数字后跟 . 后跟 4 个数字)。

我似乎不知道如何定义模式。

由于我的代码的大小,我没有在这里发布完整的代码(除了这个 ID 验证之外,所有的代码都在验证),但我提供了一个我试图在下面的“if”语句的片段跟上。

if (inputElement.id == "wid") {
    pattern = /^[a-zA-Z0-9 ]*$/;
    feedback = "Only 2 numbers followed by a . followed by 4 numbers are 
permitted";

我知道这里的模式不正确,但我已经搜索了几个小时试图找到一些易于解释的指导,但找不到任何似乎相关的内容。

任何想法都将不胜感激。

谢谢

【问题讨论】:

标签: javascript validation client-side


【解决方案1】:

您可以尝试https://regex101.com/ 之类的东西来测试您的正则表达式,并查看它的解释。

我认为你的模式应该是这样的:/^[0-9]{2}\.[0-9]{4}$/。 第一部分 ([0-9]{2}) 确保 id 以 2 位数字开头,然后是点 \.(必须转义,否则意味着“每个字符”),然后是 4 位数字 [0-9]{4}

【讨论】:

  • 我认为验证必须首先检查字符串的长度以确保它是7,然后应用正则表达式。否则像 12.3456foo 这样的东西也会匹配
  • 谢谢 - 经过一些调整,这对我有用!从未听说过正则表达式,非常有用的资源 - 再次感谢!
猜你喜欢
  • 2011-04-20
  • 2011-10-17
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 2012-02-05
  • 1970-01-01
相关资源
最近更新 更多