一个新人理解正则表达式
知识点
1、表单验证:针对于<form></form>
①:非空验证(去空格) 非空验证是什么呢,就是说 当我输入一个账号的时候不能输入一个空格就完事了,一个空格或者多个空格绝对不是账号,我们接收一个账号的时候首先要做的就是把他的前后空格给去掉,然后判断一下他是不是空的,如果是空的那么就提示他输入有误。
②:对比验证(跟一个值对比) 就是用一个提前设定好的的值去和我们输入进去的值进行对比看看是不是一样的,如果是一样的话那么继续运行,如果不是一样的那么进行提示错误。
③:范围验证(根据一个范围进行判断) 就是提前设定好一个范围数值,看看我们输入的数值在不在这个范围之内,如果在范围之内那么通过,否则报错。
④:固定格式验证 如:电话号码、身份证号、信用卡卡号等,这些需要用正则表达式来进行验证。
⑤:其他验证 就是一些不常用的验证比如一些超市的会员卡编号等。
2、正则表达式(判断我们输入的内容是否符合所写的这个正则表达式)
书写规则:左右两边各有一条前斜杠 / 中间写正则表达式 /
^ 匹配开头 $ 匹配结尾 /^va----以va为开头 /$va----以va为结尾
\d 在正则表达式当中代表0~9之间任意一个数字
\w 在正则表达式当中代表任意一个字母或者数字(范围比\d要大)
\s 一个任意的字符串
{n} 把左边的表达是重复N遍 如:\d{5}----把\d重复5遍(取0~9之间的任意数值5遍)
{m,n} 把左边的表达式最少重复m遍,最多重复n遍 例题同上
{m,} 把左边的表达式最少重复m遍,最多不限
+ 左边表达式至少出现一遍,最多不限相,相当于{1,}
* 左边表达式至少出现0遍,最多不限相,相当于{0,}
? 左边表达式要么出现0次要么出现1次,相当于{0,1}
|----代表或者 ()----代表优先级 \----代表转义
3、事件
时间的三要素:事件源、事件数据、事件处理程序(加入return false是阻止默认操作)
onclick----鼠标单击触发
ondblclick----鼠标双击触发
onmouseover----鼠标移动到上面时触发
onmouseout----鼠标离开时触发
onmousemove----鼠标在上面移动时触发
onchange----只要内容改变是触发
onblur----失去焦点时触发
onfocus----获得焦点时触发
onkeydown----按键按下的时候触发
onkeyup----按键抬起来的时候触发
onkeypress----用户结束完成之后才开始进行调用 系统按钮不接受比如箭头键功能键无法识别
常用的正则表达式:
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如:0511-4405222或021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国身份证为15位和18位
匹配IP地址:d+.d+.d+.d+
评注:提取IP地址时有用