js正则表达式

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
window.οnlοad=function(){
//正则表达式的两种创建方式
// //第一种方法
//
// var box = new RegExp('box');
// var box = new RegExp('box','gi');//第一个参数必选,第二个参数可选
//
// //第二种方法,字面量的方式
// var box = /box/;
// var box = /box/gi; //与上面的对应
//
//RegExp对象有两个方法
//
// var pattern = new RegExp('box','i');
// var str = 'box';
// alert(pattern.test(str));//true
// alert(/boX/i.test(str));//true
// alert(/box/i.test('boxjj'))//true;
//
// var pattern = /box/i;
// var str = 'i am a box ~';
// alert(pattern.exec(str))//box,返回的是数组,有的话就返回数组的值,没有的话就返回null
// alert(typeof pattern.exec(str));//object 是一个数组类型,数组就是object


// string 对象的正则表达式
// 一.match方法
// var pattern =/box/ig;
// var str='this is a Box,that is a box';
// alert(str.match(pattern));// Box,box 如果没有g匹配全局的话,则返回第一个 符合条件的 Box,
注意这里返回的 都是 数组例如下面的
// var a=str.match(pattern);
// alert(a[0]) //box
//
二.Search方法
// var pattern = /box/ig;
// var str = 'this is Box,that is box';
// alert(str.search(pattern));//8第一个匹配到的位置 ,ps:从0开始包括空格,因为seach方法查找到即返回,所以无需全局
// //如果找不到则返回 -1
// 三、replace 方法
// var pattren = /jack/ig;
// var str = 'jack ,JaCk,i am jAcK';
// alert(str.replace(pattren,'Tom'));//返回的是 Tom,Tom,i am Tom
//如果没有全局匹配,则只会更改第一个
四/split方法
// var pattern = / /ig;
// var str = 'a a a';
// alert(str.split(pattern));//a,a,a
// alert(str.split(pattern).length)//3
//RegExp的静态属性
// var pattern = /google/g;
// var str='this is google!!!';
// pattern.test(str); //必须执行一下,静态属性才有效

// alert(RegExp.input);//this is google;
// alert(RegExp.leftContext);//this is ;包括空格呦
// alert(RegExp.rightContext);//!!!;
// alert(RegExp.lastMatch);//google没啥用,就是返回最后一个匹配到的
// ps:这些东西都没啥用,只是作为了解一下
//
*****************元字符
// 元字符.
// var pattern =/g..le/;
// var str = 'gxxle';
// alert(pattern.test(str));//true 点符号标识匹配任意除了换行符外的字符
//
// 元字符*
// var pattern = /go*le/; //表示0个,或多个 o;
// var str = /gooogle/;
// alert(pattern.test(str));//true
// 元字符?
// var pattern = /go.?le/; //表示 go与le之间存在一个 或者 0个 任意的字符
// // var pattern = /go.{3,5}/; /表示匹配最少三个最多五个字符
// "/go{3,}gle/表示匹配3或者3+次o,/go{3}gle/表示匹配三次o
// var str = 'gokle';
// alert(pattern.test(str));//true

//、var pattern = /[a-z]oogle/;
//[a-z]表示26个小写字母,任意一个都可以匹配、区分大小写,如需要课在后面用 i修饰符,或者[A-Z]
//[0-9]与之类似
// 可以写成复合形式 [a-zA-Z0-9 ] 匹配任意在 括号里面的字符
// [^a-zA-Z0-9] 匹配 不包含任意括号里面的任意字符


//锚字符匹配
// var pattern =/^[0-9]oogle/; //这个^符号加载/后面表示从行首开始匹配,如果在[]里面表示非

//var pattern = /\woogle/ 就相当于 var pattern = /[a-zA-Z0-9_]oogle/
//var pattern = /\Woogle/ 就相当于 var pattern = /[^a-zA-Z0-9]oogle/
// 详细结构如下图
var pattern =/^[a-z]oogl[0-9]$/; //ps:^表示强制首匹配,$表示强制尾匹配
var str='ggoogl5'; alert(pattern.test(str));//false 1
var str1='googl55';alert(pattern.test(str1));//false 2
var str2='googl5'; alert(pattern.test(str2));true

//ps:上面的 1(pattern=/^[a-z]*oogle$)2(pattern = /googl[0-9]*)才能是true 这个一得得注意








}
</script>

</body>
</html>

转载于:https://www.cnblogs.com/zhangxiaofei/p/6762630.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值