使用javascript Regex验证输入格式

时间:2018-01-17 15:56:53

标签: javascript jquery html regex

我的网络表单中有3个输入框,我想在提交表单时使用javascript正则表达式验证所有字段。

我的字段格式如下:

NNNN.NN.NNNN (i.e. 1234.56.7890) 

NNN.N (i.e. 123.4) 

NNNNNNN-NNN (i.e. 1234567-890)

其中N仅为数字或数字。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:2)

\d匹配0到9之间的数字。 使用{4}将其匹配4次。

您可以使用^\d{4}\.\d{2}\.\d{4}$

<强>解释

  • 从字符串^
  • 的开头
  • 将数字匹配4次\d{4}
  • 匹配点\.
  • 匹配一个数字2次\d{2}
  • 匹配点\.
  • 将数字匹配4次\d{4}
  • 字符串$
  • 的结尾

对于其他两个你可以使用这样的设置。

对于NNN.N,您可以使用:

^\d{3}\.\d$

有关 您可以使用NNNNNNN-NNN:

^\d{7}-\d{3}$

答案 1 :(得分:0)

正则表达式\d{4}\.\d{2}\.\d{4}|\d{3}\.\d{1}|\d{7}-\d{3}

\d匹配一个数字(等于[0-9])

{n}完全匹配n

|

Regex demo

答案 2 :(得分:0)

你有一个jQuery标签,所以我推荐the Masked Inputs plugin

$('.type1').mask('9999.99.9999');
$('.type2').mask('999.9');
$('.type3').mask('9999999-999');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.js"></script>

<label>NNNN.NN.NNNN <input class=type1></label><br>
<label>NNN.N <input class=type2></lable><br>
<label>NNNNNNN-NNN <input class=type3></label>