正则表达式不计算属于*量词的字符

时间:2016-07-25 13:35:26

标签: javascript regex

正则表达式:/([a-z][0-9]*){6,12}/i

所以我希望如果一个字符串包含超过6个字符且少于12个字符,即使没有6个字母字符,也会返回true,但它没有,我希望“123456789a”返回true并且“abcdefghi1 “,但第一个没有。

var myRegEx = /([a-z][0-9]*){6,12}/i;


function checkIt() {
var myString = document.getElementsByTagName("input")[0].value;

if(myRegEx.test(myString) == true) {
document.getElementsByTagName("p")[0].className = "trueOrFalse true";
document.getElementsByTagName("p")[0].innerHTML = "True";
}
else {
document.getElementsByTagName("p")[0].className = "trueOrFalse false";
document.getElementsByTagName("p")[0].innerHTML = "False";
}

}

2 个答案:

答案 0 :(得分:0)

https://jsfiddle.net/y71mudms/2/

正确的正则表达式是

[[:space:]]?

我们搜索数字的完全匹配+ 1个字符从6到12

var myRegEx = /^[0-9]{6,11}[a-z]{1}$/i;

REF。 6 digits regular expression

答案 1 :(得分:-1)

只需检查正则表达式条件周围的字符串长度:

if string.length > 6 && string.length < 12) {
  // if regex...
}