要求正则表达式必须是数字、字母、符号两者以上的组合。 在网上找了好久都是不正确的,不符合的就别发上来

要求正则表达式必须是数字、字母、符号两者以上的组合。 在网上找了好久都是不正确的,不符合的就别发上来了。
求能人帮帮忙。

标准写法如下:
^((?=.*?\d)(?=.*?[A-Za-z])|(?=.*?\d)(?=.*?[符号])|(?=.*?[A-Za-z])(?=.*?[符号]))[\dA-Za-z符号]+$
只是符号有很多,不知道你希望支持哪些,自己写出来替换上面的“符号”二字即可,例如需要支持!@#$%^&,替换后的完整表达就是:
^((?=.*?\d)(?=.*?[A-Za-z])|(?=.*?\d)(?=.*?[!@#$%^&])|(?=.*?[A-Za-z])(?=.*?[!@#$%^&]))[\dA-Za-z!@#$%^&]+$
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-07
试试这个正则表达式吧 我写出来而且也试过了能行的!
ValidationExpression="^[A-Za-z\d].+$"

附加说明:“\d”表示匹配任意数字;“[A-Za-z]”匹配A-Z共26个字母的大小写;“.”匹配除换行符以外的任意符号;“+”表示重复一次或者更多次,如果不写默认将只能输入两个字符;“^”和“$”分别表示字符串的开始和结束!希望我的回答对你有所帮助,谢谢采纳!!
第2个回答  2011-09-17
正则这样写, 符号只支持键盘打得出来的那些,并且不支持中文等非ascii 字符。

^(?=.*?[a-zA-Z])(?=.*?[\d])(?=.*?[^a-zA-Z\d])[\x21-\x7E]+$

用在javascript 中是这样写

if (/^(?=.*?[a-zA-Z])(?=.*?[\d])(?=.*?[^a-zA-Z\d])[\x21-\x7E]+$/m.test(subject)) {
// Successful match
} else {
// Match attempt failed
}

其它语言请自己摸索一下
第3个回答  2011-09-08
这个就要这样弄了
用 /\w+/ /\d+/ /符号+/ 分别测试字符串,符合表达式的结果+1分,最后结果>=2且符合/^[\w\d符号]+$/ 的就是你要的了
第4个回答  2011-09-09
[a-zA-Z0-9]
相似回答