匹配数字、字母和?%&=-_这几个符号的正则表达式

/^[\w\?%&=\-_]+$/ 

说明:
(1) \w 代表 0-9a-zA-Z 即数字、字母

(2) \?%&=\-_ 匹配?%&=-_,而正则中?代表0个或1个,因为是特殊字符,加转义为\?,
正则中-代表多少到多少,如0-9,因此也是特殊字符,加转义为\-,

(3) +代表1个以上字符,也就是[\w\?%&=\-_]至少要有一个,
如果要求可以没有字符的话,改成[\w\?%&=\-_]*, 正则中*表示0个或多个(0,1,2...n)

(4) ^代表字符开始,$代表字符结束,若不加,test会测试任意匹配模式([\w\?%&=\-_]+)的
字符即返回true,也就是说只要字符串中有1个或以上[\w\?%&=\-_],它就会返回true,
所以,这里要加^[\w\?%&=\-_]+$限定,测试所有字符。

posted on 2013-09-16 16:39  张缤分  阅读(1183)  评论(0编辑  收藏  举报

导航