JS - 一个字母和6个数字的正则表达式

时间:2016-03-17 17:31:28

标签: javascript regex

我有这个正则表达式来测试输入是否以字母" a"然后是6个数字。在线验证器似乎工作,但在JavaScript上没有。

这是代码:

function checkBookingReference (ref) {
    var regex = /(^a|A)([0-9]{6})/;
    return regex.test(ref);
}

如果我输入六个以上的数字,该函数返回true,并且它不应该。知道为什么吗?

4 个答案:

答案 0 :(得分:5)

如果字符串中的任何地方存在匹配,那么正则表达式将返回true。如果您想确保整个字符串与之匹配,那么您需要使用ul来匹配开头,并使用^来匹配结尾。

$

答案 1 :(得分:1)

我就是这样做的:

return /^A[0-9]{6}$/i.test(ref);

答案 2 :(得分:0)

你需要在括号外移动克拉^并在字母周围使用适当的组,然后松开尾随的美元符号$。试试这个:

var regex = /^[aA][0-9]{6}/;

里面的括号表示"不是"。在外面它意味着"字符串的开头"。美元符号意味着"字符串结尾"。

答案 3 :(得分:0)

使用regex对象指定正则表达式,然后对其进行测试。试试这个

var regex = new RegExp("^a([0-9]{6})$","i");  return regex.test(ref);