<script> var re1=/\d/; var re2=/[a-z]/; var re3=/[A-Z]/; //var str="2Adswe" var str="Adswe" if ((re1.test(str))&&(re2.test(str))&&(re3.test(str))) { alert("ok"); } else {alert("no");} </script>
"\d+[a-z]+[A-Z]" 不知这样写是否正确
function _0009(str) { return str.replace(/^(?:([a-z])|([A-Z])|(\d)|.)+$/g, "$1$2$3").length == 3; }alert(_0009("123asaDDdd"));
回家后琢磨了一下,前面代码写的太难看了。 用数组方法赋值比较好。一条表达式搞定 <script> function test(str){ var arr=new Array("\d","[a-z]","[A-Z]") for (var i=0;i<arr.length;i++) var re=new RegExp(""+arr[i]+"","g"); return re.test(str) } alert(test("123ed")); alert(test("123edAD")); </script>
var re1=/\d/;
var re2=/[a-z]/;
var re3=/[A-Z]/;
//var str="2Adswe"
var str="Adswe"
if ((re1.test(str))&&(re2.test(str))&&(re3.test(str)))
{
alert("ok");
}
else
{alert("no");}
</script>
不知这样写是否正确
{
return str.replace(/^(?:([a-z])|([A-Z])|(\d)|.)+$/g, "$1$2$3").length == 3;
}alert(_0009("123asaDDdd"));
to夏天同学。。
捕获加g后,执行完毕后,FF会释放$1-$n
// 效率要高一点,但是只能在IE中使用// 下面这个兼容FF和IE,但是效率低,小范围使用还可以
function _0009(str)
{
return str.match(/[a-z](?![^a-z]*[a-z])|[A-Z](?![^A-Z]*[A-Z])|\d(?![^\d]*\d)/g).length == 3;
}alert(_0009("123asadDDd"));
return /[0-9]/.test(str) && /[a-z]/.test(str) && /[A-Z]/.test(str);
}
alert(test(".a1bc1sdfsdfA"));
推荐用3条。。
1条也可以写。
3的全排列是6种情况。。如果考虑还有[^\dA-za-z]的情况的话,会更长
不推荐这个。。
用数组方法赋值比较好。一条表达式搞定
<script>
function test(str){
var arr=new Array("\d","[a-z]","[A-Z]")
for (var i=0;i<arr.length;i++)
var re=new RegExp(""+arr[i]+"","g");
return re.test(str)
}
alert(test("123ed"));
alert(test("123edAD"));
</script>