日期:2014-05-16  浏览次数:20376 次

javascript里的正则验证密码问题!
要求:密码必须是字母和数字混合组成,不能纯数字或纯字母.另外帮看下这个日期的正则写的对不对,谢谢!     re=   /^[1-9]{1}\d{3}-[0-1]{1}[0-9]{1}-[0-3]{1}[0-9]{1}
新人,有错误多谢指教!


------解决方案--------------------
^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
根据自身需求再适当调整。
另外日期的正则表达式非常麻烦,因为要考虑到闰年和2月份的天数。

([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))
这个是匹配平年日期格式为YYYY-MM-DD的正则表达式。

(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)
这个是匹配日期格式为YYYY-MM-DD的正则表达式

(((0[1-9]|[12][0-9]|3[01])/((0[13578]|1[02]))|((0[1-9]|[12][0-9]|30)/(0[469]|11))|(0[1-9]|[1][0-9]|2[0-8])/(02))/([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}))|(29/02/(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00)))
这个是匹配DD/MM/YYYY格式的正则验证表达式
------解决方案--------------------
按我的理解只要有一次字母+数字 或 数字+字母的组合就可以了,前后任意多任意数字或字母

[a-zA-Z0-9]*([a-zA-Z][0-9]|[0-9][a-zA-Z])[a-zA-Z0-9]*

可否?长度限制倒是不知道怎么加上去
------解决方案--------------------
字母数字混合:/^(([A-Za-z]+\d+)|(\d+[A-Za-z]+))+$/