求一个正则表达式 规则是:1.输入的字符必须包含数字和字母(两者都有),也可以包含下划线。 2.不少于六位 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能是像这样的:123456 至少是:a12345 至少带有一个字母 ,也不能是“abcdef”这样的全字母。 var reg1 = /(\d_*(?=[A-Za-z]))|([A-Za-z]_*(?=\d))/var reg2 = /^\w{6,}$/var str = "x_wxs1";alert(reg1.test(str) && reg2.test(str));不知道怎么合并成一个... 再使用两个表达式\d{6,}和[a-zA-Z]{6,}排除掉纯数字或者纯字母的情况就行了,没有必要非得使用一个正则表达式。 代码执行的快不快全在于你怎么设计系统和怎么编写代码。if(满足字符串长度小于6){程序停止,报错}if(满足纯数字){程序停止,报错}if(满足纯字母){程序停止,报错}if(满足纯字母和数字、下划线){程序正常执行,报错}这样要比直接使用一个正则表达式去匹配简单多了,执行也快多了。 <script> var reg=/(?=.*\d)(?=.*[a-z])^[\da-z]{6,}$/i alert(reg.test("1234e")) alert(reg.test("123456")) alert(reg.test("abcdef")) alert(reg.test("12345e"))</script> 也可以包含下划线----------<script> var reg=/(?=.*\d)(?=.*[a-z])^[\da-z_]{6,}$/i alert(reg.test("1234e")) alert(reg.test("123456")) alert(reg.test("abcdef")) alert(reg.test("12345e")) alert(reg.test("12345_6"))</script> var reg1 = /(\d_*(?=[A-Za-z]))|([A-Za-z]_*(?=\d))/var reg2 = /^\w{6,}$/var str = "x_wxs1";alert(reg1.test(str) && reg2.test(str));和alert(reg2.test(str) && reg1.test(str));哪一个更快一些呢? var reg=/(?=.*\d)(?=.*[a-z])^[\da-z_]{6,}$/i学习,还可以这样写的 (?=.*\d) --> 必須有数字(?=.*[a-z]) --> 必須有字母(?=.*\d)(?=.*[a-z]) --> 必須有数字和字母(組合) 还是不太懂/(?=.*\d)(?=.*[a-z])^[\da-z_]{6,}$/i后面那一段呢? 还有i是什么意思? 你那样写不是有一定的顺序了吗? /(?=.*\d)(?=.*[a-z])^[\da-z_]{6,}$/i/(?=.*[a-z])(?=.*\d)^[\da-z_]{6,}$/i結果一様,不区分先後順序i:不区分大小写 用一个正则表达式不适用于变更,假如以后改成数字、大写字母、小写字母、特殊字符4选三,正则表达式将会非常复杂。给你个方法function isValidPassword(text){ if(text.length<6) { return false; } var fitNum = 0; if(/[a-zA-Z]/.test(text)) { fitNum=fitNum+1; } if(/\d/.test(text)) { fitNum=fitNum+1; } if(fitNum==2){ return true } else { return false; }}这个方法再后期的维护中非常好修改,而且非常容易理解。 完整的:<html><script language="javascript">function rqsb(){var reg = /(\d_*[a-zA-Z])|([a-zA-Z]_*\d)/;var value=document.form1.date1.value;var flag=reg.test(value);if((RegExp.input.length<6) || (flag==false))alert("格式错误")elsealert("格式正确")}</script><body><form name="form1" id="form1" method="post">请输入要识别的日期<input type="text" name="date1" /><input type="button" onclick="javascript:rqsb();" value="识别日期"></form></body></html> 为什么抓不到页面上的所有图象? 一个jQuery无缝滚动的古怪需求,求解决方案??????谢谢 小弟有问题想问请进.. 怎么传值给新浪HtmlEditor在线编辑器 文档的当前编码不能正确保存文档内的所有字符 javaScript闭包的问题!求解释 图片上的内容是否可以在线修改呀 请问在JS中有办法把一些值带到下一页吗? 我做了个网页,做了一个弹出式的菜单,但在初始设置没有起到作用,请大家过来帮看一看! 两种js定义函数的方法有什么不同呢? JS创建的控件,当用户返回时都不存在了 小弟初学jquery,谁能写一个比较完整的,代码,要求简单的就像呼吸一样。谢谢
var reg1 = /(\d_*(?=[A-Za-z]))|([A-Za-z]_*(?=\d))/
var reg2 = /^\w{6,}$/
var str = "x_wxs1";
alert(reg1.test(str) && reg2.test(str));
不知道怎么合并成一个...
没有必要非得使用一个正则表达式。
if(满足字符串长度小于6){程序停止,报错}
if(满足纯数字){程序停止,报错}
if(满足纯字母){程序停止,报错}
if(满足纯字母和数字、下划线){程序正常执行,报错}这样要比直接使用一个正则表达式去匹配简单多了,执行也快多了。
var reg=/(?=.*\d)(?=.*[a-z])^[\da-z]{6,}$/i
alert(reg.test("1234e"))
alert(reg.test("123456"))
alert(reg.test("abcdef"))
alert(reg.test("12345e"))
</script>
----------
<script>
var reg=/(?=.*\d)(?=.*[a-z])^[\da-z_]{6,}$/i
alert(reg.test("1234e"))
alert(reg.test("123456"))
alert(reg.test("abcdef"))
alert(reg.test("12345e"))
alert(reg.test("12345_6"))
</script>
var reg2 = /^\w{6,}$/
var str = "x_wxs1";
alert(reg1.test(str) && reg2.test(str));
和
alert(reg2.test(str) && reg1.test(str));
哪一个更快一些呢?
var reg=/(?=.*\d)(?=.*[a-z])^[\da-z_]{6,}$/i
学习,还可以这样写的
(?=.*[a-z]) --> 必須有字母
(?=.*\d)(?=.*[a-z]) --> 必須有数字和字母(組合)
后面那一段呢? 还有i是什么意思? 你那样写不是有一定的顺序了吗?
/(?=.*[a-z])(?=.*\d)^[\da-z_]{6,}$/i
結果一様,不区分先後順序
i:不区分大小写
if(text.length<6)
{
return false;
} var fitNum = 0;
if(/[a-zA-Z]/.test(text)) {
fitNum=fitNum+1;
} if(/\d/.test(text)) {
fitNum=fitNum+1;
}
if(fitNum==2){
return true
}
else
{
return false;
}
}这个方法再后期的维护中非常好修改,而且非常容易理解。
<html>
<script language="javascript">
function rqsb(){
var reg = /(\d_*[a-zA-Z])|([a-zA-Z]_*\d)/;var value=document.form1.date1.value;
var flag=reg.test(value);if((RegExp.input.length<6) || (flag==false))
alert("格式错误")
else
alert("格式正确")
}</script>
<body>
<form name="form1" id="form1" method="post">
请输入要识别的日期<input type="text" name="date1" />
<input type="button" onclick="javascript:rqsb();" value="识别日期">
</form>
</body>
</html>