正则表达式:JQuery检查

时间:2014-07-01 15:38:21

标签: javascript jquery html regex

我正在处理表单文本输入,要求用户输入“a”后跟6个前进数字(0-9)。

(a|)\d{6}

JS不允许用户以此格式键入除字符串以外的任何内容。

然而,我没有运气。 我的代码示例是located here

1 个答案:

答案 0 :(得分:1)

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

让我说我错过了我打算按的键,最后输入了一系列按键:

  

1 2 3 - [R 退格 4 5 6

我希望我的退格会删除我的单据,其余的输入都会通过。想象一下,看到" a12456"相反,因为你的代码已经阻止我输入 r ,这意味着我的 Backspace 删除了3

相反,试试这个:

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

Demo on JSFiddle

如果用户未以正确的格式输入数据,HTML5的此功能将阻止提交表单。这与服务器端确认相结合,可以很好地工作。此外,它甚至可以在用户禁用JavaScript时使用!

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

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

Demo on JSFiddle

通过这种方式,&#34; a&#34;已经存在并且不必输入,使用户只需要键入更改的部分。在服务器上,只需坚持&#34; a&#34;回到它。