Javascript表单验证模式

时间:2016-11-24 20:06:14

标签: javascript regex forms validation

我正在尝试验证两个字符和数字是否正确输入。

var studentValid = /^[MTWTF][AL][1-9]$/i;
if (studentValid.test(studentTemp.value))
{
    alert("true");
}
else
{
    alert("false");
}

然而我输入的所有内容都是假的?

1 个答案:

答案 0 :(得分:1)

问题在于你的正则表达式(/^[MTWTF][AL][1-9]$/i)。这告诉你的是你首先想要一个字符M,T,W,T或F,然后是A或L,最后是一个数字(在此之前或之后没有任何内容)。

所以例如

  

ML4,WA5,FL9

会给你真实的 而

  

AM9,ML0,MMA5,MA99

会给你假的。

这是你想要匹配的模式吗?您的代码没有其他任何问题,有效值会给您带来真的,例如:

var studentValid = /^[MTWTF][AL][1-9]$/i;
var value = 'MA9';
if (studentValid.test(value))
{
    alert("true");
}
else
{
    alert("false");
}

使用regexp时,使用工具帮助您构建它非常有用,请查看https://regex101.com/r/A5FOIh/3,您可以尝试使用其他studentTemp.value来查看它们是否匹配。