码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript中的常用正则表达式

时间:2015-04-09 10:25:57      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

  1 <script>
  2 /*常用字符串操作*/
  3 var str="you-1989-ga-13-li-85-li";
  4 //alert(str.search(‘aaa‘));   /*根据指定的子字符串,返回子字符串在父级中的开始位置。正常就返回所在的位置,否则返回-1*/
  5 //alert(str.charAt(1));       /*根据指定的位置,返回该位置上的字符。*/
  6 //alert(str.substring(1));    /*根据指定的起始位置,返回该位置上的子字符串(不包括结束位置),或者该位置以后所有的子字符串。*/
  7 //var arr=str.split(‘-‘);     /*根据指定的符号,返回根据该符号切分的数组。*/
  8 //alert(arr.length);
  9 
 10 /*从字符串中找出所有的数字*/
 11 var arr=[];
 12 var tmp=‘‘;
 13 for(var i=0; i<str.length;i++){/* 为什么字符串最后的数字加加不到数组中去?因为最后都是数字不走else了,所以最后的数字没有机会加到数组中。在循环结束后,在执行一次else中的操作。*/
 14     if(str.charAt(i)>=0&&str.charAt(i)<=9)
 15     {
 16         tmp+=str.charAt(i);    
 17     }
 18     else
 19     {
 20         if(tmp)
 21         {    
 22             arr.push(tmp);
 23             tmp=‘‘;
 24                             
 25         }
 26     }
 27 }
 28 if(tmp){
 29     arr.push(tmp);    
 30 }
 31 /*用正则的方法匹配字符串中的所有数字。match的方法是用字符串.match去匹配正则。*/
 32 //alert(str.match(/\d+/g));
 33 
 34 /*正则对象*/
 35 //var re=new RegExp(‘G‘,‘i‘);
 36 //var ygl=‘yougali‘;
 37 //alert(ygl.search(re));
 38 
 39 /*在字符串中找出第一个数字*/
 40 var re=/\d+/g;          //+量词:若干      
 41 //alert(str.search(re)); //当search配合正则使用时,只能返回匹配内容的位置。
 42 //alert(str.match(re));  //如果想返回匹配的内容,就必须使用match匹配。
 43 
 44 /*replace字符串替换,replace如果不结合正则使用,只能替换第一个字符。如果要是替换正则里面的内容,则要替换的全局内容就会被替换掉了。*/
 45 var re=/i/g;
 46 //alert(str.replace(re,‘A‘));
 47 
 48 /*敏感词过滤*/
 49 window.onload=function(){
 50     var oTxt1=document.getElementById(‘txt1‘);
 51     var oTxt2=document.getElementById(‘txt2‘);
 52     var oBtn=document.getElementById(‘btn1‘);
 53     
 54     oBtn.onclick=function(){
 55         //var re=/北京|百度|淘宝/g;         /*敏感词过滤的正则*/
 56         //var re=/<.+>/g;               /* 替换小说标签的正则  <尖括号之间一堆任意的字符>*/
 57         var re=/<[^<>]+>/g;                /*不是尖括号之间的任意字符,而是尖括号中,除了尖括号以外的其他全部字符*/
 58         oTxt2.value=oTxt1.value.replace(re,‘***‘);    
 59     };
 60     
 61     var oTxt3=document.getElementById(‘txt3‘);
 62     var oBtn2=document.getElementById(‘btn2‘);
 63     oBtn2.onclick=function(){
 64         var re=/^\w+@[a-z0-9]+\.[a-z]+$/i;
 65         if(re.test(oTxt3.value)){ /*正则的test方法用来检验字符串是否符合正则的规则
 66                                     test字符串一部分符合要求,就认为全部都返回true。这是不合理的。
 67                                     当^出现在[^0-9]中时表示排除,当出现在[]外部时表示行首(字符串开头),
 68                                     $表示行尾巴。因此我们将这两个标识添加在正则的行首和行尾。正则中只能出现^$中间的内容。
 69                                     */
 70             alert(‘是合法邮箱‘);    
 71         }else{
 72             alert(‘邮箱不合法‘);    
 73         }
 74     };
 75     
 76 };
 77 
 78 /*正则中方括号的用法
 79 [you] 作用相当于或,或y,或o,或u,例如:*/
 80 /*[you]-meili
 81 y-meili
 82 o-meili
 83 u-meili*/
 84 var ygl="职位邮宝描述:1、负责淘宝店及淘宝商城的售前花宝、售后指导和服务工作";
 85 var re=/[邮花淘]宝/g;
 86 //alert(ygl.match(re)); //match 返回匹配的内容
 87 
 88 /*[]括号的第二种用法表示范围,例如
 89 [a-z]表示a到z, [1-9]表示1到9*/
 90 
 91 var ygl=‘wo 2015 zhen 04 de 08 shi‘;
 92 //alert(ygl.match(/[0-9]+/g));       /* \d相当于[0-9]*/
 93 
 94 /*[]除了表示范围以外,第三种用法表示排除[^a-z0-9]:排除掉a-z 0-9*/
 95 
 96 /*常用的转义字符*/
 97 /*\d  代表数字 相当于[0-9]
 98 \w  英文、数字、下划线  相当于[a-z0-9_]
 99 \s    空白字符  包括空格、tab、其他不可打印的字符
100 .    代表任意字符
101 
102 \D    表示除了[^0-9]
103 \W    表示除了[^a-z0-9_]
104 \S    非空白字符*/
105 
106 /*常用量词*/
107 {n}    /*正好出现n次*/ 
108 /*电话号码的正则:[1-9]\d{7} 第一位是1-9开头的,后面7位可以是任意数字   */
109 
110 {n,m}  /* 最少n次,最多m次 */ 
111 /*QQ号的正则:[1-9]\d{4,10} 第一位是1-9开头,后面的4-10可以是0-9,QQ号的位数是5-11位*/
112 
113 {n, } /*最少n次,最多不限*/
114 + 相当于{1,} /*最少1次,最多不限*/
115 ? 相当于{0,1}/*最少0次,最多1次。可以有,可以没有*/
116 /*固定电话的正则 0539-5503681-003 */
117 (0\d{2-3}-)?[1-9]\d{7}(-\d{1,5})   /*    区号:第一位是0开头,后面的2-3位可以是0-9的数字,数字后面跟-,?表示可有可无,
118                 后面的号码:第一位是1-9开头,后面的7位用0-9表示。后面的分号:-后面的1-5位,可以用0-9的数字表示    */
119 * 相当于{0,}/* 可以没有,也可以有多个 */
120 
121 /* 用*找出字符串中的所有数字 */
122 var ygl=‘you-1989-mei-2015-li-0408‘;
123 alert(ygl.match(/\d*/g));/* 会把字符串表示成出现了0个数字 */
124 
125 /*邮箱校验*/
126 /*邮箱的表示方法:英文 数字 下划线 @ 英文 数字 . 英文; 域名中不允许有下划线,.后面只能用英文,不能用数字 */
127 </script>
<textarea rows="10" cols="40" id="txt1"></textarea><br/>
<input type="button" value="过滤" id=‘btn1‘/><br/>
<textarea rows="10" cols="40" id="txt2"></textarea>


<input type="text" id="txt3"/>
<input type="button" value="校验" id="btn2"/>

 

Javascript中的常用正则表达式

标签:

原文地址:http://www.cnblogs.com/ygl-web/p/4408776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!