求正则表达式(输入的字符串必须包含数字和字符)

要求输入必须包含数字(大于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,}