正则表达式,想了我两天了。条件:只能数字、字母、下划线,长度1-30,且不能全为数字。

前面的几个条件我能写得出来,
^[a-zA-Z0-9_]{1,30}$
就是最后一个条件我加不上去了。。。求助。。。
结单^-^

第1个回答  2011-11-18
^(?!\d+$)\w{1,30}$
dfhstudio 没有错 只是用 上了他程序语言的习惯带了双斜杠而已
第2个回答  2011-11-18
^(?!\\d+$)\\w{1,30}$
小case追问

dfhstudio 的回答,匹配明显有错,这样无论输什么字符都是false

本回答被提问者采纳
第3个回答  2011-11-18
为什么不写两条呢
符合
^[a-zA-Z0-9_]{1,30}$
并且符合
^.*\\D+.*$追问

需要的效果是:12abcd34、abcd可以通过,纯数字1234不可通过。
继续等待。。。

追答

如果你硬是要用一条表达式来一步完成,那就慢慢等吧
很明显这个问题分两步很容易实现
如果是考试或老师布置的作业或自己对此感兴趣,你可以去研究下
如果只是为了实现一个功能,建议还是不要去钻牛角尖
我经常维护别人的程序,我最讨厌那些希奇古怪的写法,虽然看起来很简捷,读起来有时很费劲

第4个回答  2011-11-18
^(?!\d+$)[a-zA-Z0-9_]{1,30}$
第5个回答  2018-09-21
我按要求填写了为什么确认不了
相似回答