正则表达的数字和字母组合

时间:2015-01-07 04:59:24

标签: javascript

我的帐号必须包含数字和字母。其长度范围为4和8。 这不仅仅是数字而且不仅仅是字母。

右前:a111,1a1bb,aa111a,111aaa。错误ex:abcdef,12345,a123!。

如何编写正则表达式。

我试着写下:([a-z]+[0-9]+[a-z]*){4,10}|([0-9]+[a-z]+[0-9]*){4,10}

但它不匹配。我的错误在哪里?

3 个答案:

答案 0 :(得分:2)

试试这个: 更新 ^((?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{4,20})$

Here
 ^(
(?=.*\d)    // must contains one digit from 0-9
(?=.*[a-zA-Z])  //must contains one lowercase Uppercase characters
[a-zA-Z0-9]         //match any letter or number previous condition checking
{4,20}           //length at least 4 characters and maximum of 20   
)$

Live demo

答案 1 :(得分:0)

试试这个:

  

/ ^(= [AZ] + [0-9] |。。[0-9] + [AZ] )[A-ZA-Z \ d *] {4, 8} $ /

var filter = /^(?=.*[a-z]+[0-9]|[0-9]+[a-z].*)[a-zA-Z\d*]{4,8}$/; 
var vals = "11aa11";
if (filter.test(vals)){
 alert('working');
 }else {
alert('not working');
}

答案 2 :(得分:0)

试试这个

var patt = new RegExp("(([A-Za-z][0-9]) |([0-9][A-Za-z])) ([A-Za-z]*[0-9]*){2,6}");
var res = patt.exec(test_str);