~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我们在做一些项目的时候,难免会遇到一些验证码的设置呀,还有就是各种的密码输入呀什么的;
大家都知道,密码在现在看来肯定是没有输入汉字的,当然一些验证问题哪些是可以的;
那么我们怎么让一个文本框只能输入数字、字母?最好的方法就是运用正则了,下面我们来看一看!
首先我们知道一些正则的表达式先:
元字符:
. ----------------查找单个字符,除了换行和行结束符。
\w ---------------匹配数字或字母或下划线或汉字。(小写)
\W----------------匹配非数字或字母或下划线或汉字。(大写既是反义)
\d----------------查找数字。
\D----------------查找非数字
\s----------------查找空白字符。
\S----------------查找非空白字符。
\b----------------匹配单词边界。
\B----------------匹配非单词边界。
^ ----------------匹配字符串的开始(英文状态的,shift+6)
$---------------- 匹配字符串的结束(英文状态的,shift+4)
常用的限定符(重复)
代码 说明
* ---------- 重复零次或更多次
+ ---------- 重复一次或更多次
? -----------重复零次或一次
{n} ---------重复n次
{n,} --------重复n次或更多次
{n,m} -------重复n到m次
正则表达式:[A-Z](意思是匹配A到Z) \d 等价于 [0-9] [指定范围](0到9);
我们正常匹配数字就简单的\d,直接匹配数字0-9的所有数字。
但是我们还缺少字母,字母的匹配是上面的[A-Z]和[a-z]分别匹配大小的的字母
这样是匹配到字母的大小写,我们把这些联合起来就是一个只匹配单词和字母的,但是太长了,然后我发现可以简写成:\d|[A-z]
我们这里最大的发现就是[A-Z]和[a-z]可以合成一句[A-z],注意这里是大写在前面,小写在后面,搞反了可不行;
我们还可以写成:\d+|[A-z]+
这样写出来结果就是这样
新发现我觉得就是在无聊中瞎搞,搞出一些可以运行没毛病的代码,然后自己慢慢可以理解作用和意思后,能对这个代码加以运用就是学习,这里补一个只匹配汉字的代码:
[\u4e00-\u9fa5]+