加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 23:07:43 所属栏目:百科 来源:网络整理
导读:正则表达式是由普通字符以及特殊字符组成的文字模式 构造正则表达式可以通过一对斜杠 (/) 分隔符之间放入由普通字符和特殊字符组成的文字模式来构造一个正则表达式。 正则表达式一般的格式: /pattern/flags 1.pattern 指定匹配模式的正则表达式 Flags 是零

正则表达式是由普通字符以及特殊字符组成的文字模式

构造正则表达式可以通过一对斜杠(/)分隔符之间放入由普通字符和特殊字符组成的文字模式来构造一个正则表达式。

正则表达式一般的格式:

/pattern/flags

1.pattern指定匹配模式的正则表达式

Flags是零个或多个可选项,有效选项及意义为:

I忽略大小写。

G全局匹配,即匹配字符串中出现的所有模式

M进行多行匹配

1.特殊字符。

要匹配特殊字符,必须首先将这些字符按转义。就是在其面前加上一个反斜杠().

f匹配一个换页符

n匹配一个换行符

r匹配一个回车符

t匹配一个制表符

v匹配一个垂直制表符

2.字符类

[.....]匹配位于括号之内的任意字符

[^....]匹配不在括号之中的任意字符

.匹配除换行之外的任意字符,等价与[^n]

w匹配任何单字符等价于[a-zA-Z0-9]

W匹配任何非单字符等价于[^a-zA-Z0-9]

s匹配任何空白字符

S匹配任何非空白字符

d匹配任何单个数字

D匹配除了数字之外的任何单个数字

[b]匹配一个退格直接量

3.表示重复的字符

{n}匹配前一项n

{n}匹配前一项n次,或更多次

{nm}匹配前一项nm

?零次或一次等价于{0,1}

*零次或多次,等价于{1}.匹配*字符,使用*

+一次或多次,等价于{0,1}.匹配+字符,使用+

4.其他特殊字符

将下一个字符标记为或特殊字符、或原义字符按、或后向引用、或八进制转义符。比如‘n’匹配字符’n’‘n’匹配换行符。序列’’匹配””,’(’则匹配”(”

|指明两项之间的一个选择匹配|字符,使用|

$匹配输入字符串的结尾位置。匹配$字符,使用$

^匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。匹配^字符,使用^

b匹配的是一个词语的边界,即位于字符wW之间的位置

B匹配的是非词语边界的字符

如下例子: 主要通过正则表达式,检测用户密码的强度

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>regex test</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
   <script language="javascript">
    var id,pause=0,position=0;
	function qiangdu(str){
	  var ls=0;
      if(str.match(/[a-z]/ig)){
	      ls++;
	  }
      if(str.match(/[0-9]/ig)){
	     ls++;
	  }
	  if(str.match(/[^a-z0-9]/ig)){
	    ls++;
	  }
      if(str.length< 6 && ls>0){
	    ls--;
	  }	  
	  return ls;
	}
	function pwStrength(pwd){
	 O_color="#eeeeee";
	 L_color="#ff0000";
	 M_color="#ff9900";
	 H_color="#33cc00";
	 if(pwd ==null|| pwd==""){
	  Lcolor=Mcolor=Hcolor=O_color;
	 }else{
	  S_level=qiangdu(pwd) ;
	  switch(S_level){
	   case 0:
	      Lcolor=Mcolor=Hcolor=O_color;
	      break;
	   case 1 :
          Lcolor=L_color;
          Mcolor=Hcolor=O_color;
          break;
       case 2 :
	      Lcolor=Mcolor=M_color;
		  Hcolor=O_color;
		  break;
		default:
		  Lcolor=Mcolor=Hcolor=H_color;
		  break;
	  }
	 }
	  document.getElementById("L").style.background=Lcolor;
	  document.getElementById("M").style.background=Mcolor;
	  document.getElementById("H").style.background=Hcolor;
	}
   </script>
  </head>
  
  <body>
  <form method="post" name="iform">
  <input type="password" size="48" onchange="pwStrength(this.value)"></input>
  <br>
  <table width="217" border="1" >
    <tr>
	  <td  width="30%" id="L">弱</td>
	  <td  width="30%" id="M">中</td>
	  <td  width="30%" id="H">强</td>
	</tr>
  </table>
  </form>
    This is my HTML page. <br>
  </body>
</html>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读