要求输入必须包含数字(大于1)和字符(大于1)
[code="java"]
// 用这个正则可以实现
Pattern pattern = Pattern.compile("^(?=.*[0-9].*)(?=.*[a-zA-Z].*).{8,}$");
[/code]
js 和java都行
[b]^(?=.*\d.*)(?=.*[a-zA-Z].*).{8,}$[/b]
\d+\S+
字符,什么意思?非空白字符?数字 和 字符 有顺序要求没?
不知道你说的字符是不是字母的意思.
[b]^.*?((?=[a-zA-Z][a-zA-Z0-9]*[0-9])|(?=[0-9][a-zA-Z0-9]*[a-zA-Z])).*$[/b]
字符大于1???
([1-9]*[a-zA-Z]*)+
[quote]觉得这个用正则表达式比较难实现[/quote]
确实比较难,但是如果分步实现,很简单。
.{8,} 长度等于8
\d+ 有多于一个的数字
\S+ 有多于一个的字符
归为一个正则,不好写
试试:
([0-9]*?[a-zA-Z]*?){8,}