8、js/java的正则表达式

正则表达式是很常用的客服端验证方法;先来学习javascript的正则表达式:

在javascript中,正则表达式是一个类RegExp,类似于String,所以在创建RegExp实例和String一样,也需要单引号或双引号:

 

var pattern=new RegExp("ok");
var pattern = new RegExp("ok","ig");   //i:忽略大小写,g:全部匹对,并不是从开始到结尾匹对,m:多行匹对

 javascript也提供了一种简写的方式:

var box = /box/;            //直接用两个反斜杠
var box = /box/ig;          //在第二个斜杠后面加上模式修饰符

 实现验证的两个方法:pattern.test(str)  , alert(pattern.exec(str)); 

test       返回 true 或 false,一般用这个;

exec      返回配对上的数组或单个  ,或null

 

而String提供的4种正则验证方法:

str.match(pattern);   返回数组或null,同exec

str.search(pattern);  返回第一次出现的位置,否则为-1

str.replace(pattern, 'Tom');     将匹对上的替换掉

str.split(pattern);         以某个正则实例将一段字符串,拆分成几个字符串数组

 

常用字符

1、定位字符

         ^ 行首匹配

         $ 行尾匹配

        \b几个单词中寻求匹对单词

var pattern = /^box/ig;           表示从str的首字符开始匹对
var pattern = /box$/ig;           表示从str的最尾端字符开始匹对
var pattern = /box\b/ig;          用在一句话中是否存在这样的一个单词   var str = 'wwwwwww box wwww';

 2、匹对个数

       x+ 匹配至少一个 x

       (xyz)+ 匹配至少一个(xyz)

       x{m,n} 匹配最少 m 个、最多 n 个 x  只能是连续的xxxxxx

 

<script type="text/javascript">
var pattern = /x{2,9}/;
var str = '1111wwwwwwwboxboxboxboxboxboxwwww';
alert(pattern.test(str)); 
</script>
为什么是false

 3、选择匹配,选择符 "|"  ;括弧分组匹配 \1或$1:第一组,\2或$2:第二组 ...    .....通过RexExp.$1调用

 

 

var pattern = /8(.*)8/; //获取 8..8 之间的任意字符
var str = 'This is 8google8';
alert(pattern.test(str));
alert(RegExp.$1); //得到第一个分组里的字符串内容  google

var pattern = /(.*)\s(.*)/;
var str = 'google baidu';
var result = str.replace(pattern, '$2 $1'); //将两个分组的值替换输出   baidu  google
document.write(result);

 后续

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值