正则表达式

正则表达式组成元素:

. 匹配除换行符以外的任意单个字符                                
*         匹配位于*之前的字符或者子模式的0次或者多次出现
+ 匹配位于+之前的字符或者子模式的1次或者多次出现
匹配位于?之前的0个或者一个字符
- 在[]之内用来表示范围
| 匹配位于|之前或之后的字符
^ 匹配行首,匹配以^后面的字符开头的字符串
$ 匹配行尾,匹配以$后面的字符开头的字符串
\ 表示位于\之后为转义字符
\f \n \r 换页符匹配 换行符匹配 匹配回车符
\b 匹配单词头或单词尾,\B和他含义相反
\d 匹配任何数字相当于[0-9],\D含义相反
\s 匹配任何话空白字符,包括空格制表符 换页符
\w 匹配 任何字母 数字以及下划线相当于[a-zA-Z0-9]
() 将位于()看作一个整体来对待
{m,n} {}前的字符或子模式重复至少m次,至多n次
[] 表示范围,匹配位于[]中的任意一个字符
[^a-z] 反向范围字符,匹配出小写英文字母之外的任意字符

用JavaScript进行测试训练:

 输入的内容带不带小数点

 1     function  isTrue(strValue )  {
 2              var  reg= /^\d+\.\d+$/ 
 3              if(reg.test(strValue)){
 4                   alert("验证通过")
 5              }else{
 6                  alert("验证失败")
 7                  return
 8              }
 9           }
10      function check() {
11          var regvalue=document.getElementById("reg").value
12          isTrue(regvalue)
13     }

在isture()方法中定义的reg就是正则表达式:/^表示匹配正则的开始,$/表示匹配正则的结束,\d表示匹配0-9的数字,\.前面的\表示为转义,因为.在正则表达式中有特定含义,所以要转义,+表示数字最少出现一次。

输入为邮箱

      function  isTrue(strValue )  {
        	 var reg=/^\w+@[a-zA-Z0-9]{2,10}(\.[a-z]{2,4}){1,3}$/ 
             if(reg.test(strValue)){
                  alert("验证通过")
             }else{
                 alert("验证失败")
                 return
             }
          }
     function check() {
         var regvalue=document.getElementById("reg").value
         isTrue(regvalue)
    }

 在isture()方法中定义的reg就是正则表达式:/^表示匹配正则的开始,$/表示匹配正则的结束,\w+表示@符号之前可以出现1次或者多次的字母、数字、下划线等,@符号后面紧跟着是类似于qq、163、sina等,所以用[a-zA-Z0-9]{2,10}表示可以出现字母、数字2到10次,\.表示转义.,.后面小写字母a~z可以出现2到4次。

常用的正则表达式有:

  • 是否带有小数:reg= /^\d+\.\d+$/
  • 是否由2~4长度的中文名称组成:reg=/^[\u4E00-\u9FA5]{2,4}$/
  • 校验是否全由8位数字组成:reg=/^[0-9]{8}$/
  • 校验电话码格式:reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/
  • 校验邮件地址是否合法:reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/ ,也可以写成reg ='^\w+@(\w+\.)+\w+$'
  • 检查给定字符串是否为合法身份证格式:reg='^\d{18}|\d{15}$'
  • 检查给定字符串是否为移动手机号码:reg='^(13[4-9]\d{8})|(15[01289]\d{8})$''
  • 密码:匹配长度为5-20,必须以字母开头包含数字、“_”、“.”的字符:reg='^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$'
  • 昵称:匹配长度为6-20的字符串,可以包含字母、数字、下划线:reg='^(\w){6,20}$'
  • ip地址:检查给定字符串是否为合法IP地址:reg='^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$'
上一篇:代码审计_数组返回NULL绕过


下一篇:vue正则验证