正则表达式:JQuery检查

Regular expressions: JQuery check

本文关键字:检查 JQuery 正则表达式      更新时间:2023-09-26

我正在研究一个表单文本输入,要求用户输入一个"a",后跟6个连续数字(0-9)。

(a|)'d{6}

JS不允许用户在这种格式下输入字符串以外的任何东西。

然而,我运气不好。我的代码示例位于这里

阻止用户输入任何他们想要的东西是一个非常糟糕的主意。原因:

假设我错过了我想要按的键,并最终输入了以下的击键序列:

1 2 3 r 退格 4 5 6

我希望我的空格会被退格擦掉,剩下的输入会通过。想象一下,如果我看到"a12456"出现在这里,我会多么惊讶,因为你的代码已经阻止我输入r,这意味着我的退格删除了3 !

不如试试这样:

<input type="text" name="code" pattern="a[0-9]{6}" required
               title="Please enter an &quot;a&quot; followed by six digits." />

关于JSFiddle的演示

如果用户没有以正确的格式输入数据,HTML5的这个特性将阻止表单被提交。这与服务器端确认相结合,将完美地工作。另外,如果用户禁用了JavaScript,它甚至可以工作!

也就是说,对于这样一个特定的格式,这样做可能更有帮助:

a<input type="text" name="code" pattern="[0-9]{6}" required
                                     title="Please enter six digits" />

关于JSFiddle的演示

这样,"a"已经在那里了,不需要输入,用户只需要输入改变的部分。在服务器端,只需将"a"重新粘贴到它上。