求匹配数字、字母和?%&=-_这几个符号的正则表达式
1个回答
展开全部
/^[\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\?%&=\-_]+$限定,测试所有字符。
测试过了。测试用例私信给你。
讲解:
(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\?%&=\-_]+$限定,测试所有字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询