【JavaScript.4】“客“”服”解负好帮手,正则表达显神通


JS 中正则表达式的作用 

         Js 中正则表达式的用途:将提交数据在客户端先一步验证, 减少与数据库的交互次数,提高服务器性


能。

         举个例子在客户端提交数据的例子:



         假如你要登录某网站、网络游戏等等需要输入用户名信息的东东,系统需要将你的用户名和密码和存在在


数据库中的对比,然后才能决定进入或拒绝。但是一般所有的注册信息都会有一些字符数、字母、空格等特定的限制


要求,而很多用户在输入信息时可能多输入一些字符或数字或空格等东东,这些是肯定错误的。要知道数据库每时每


刻的交互量都特别大,如果有很多不符合注册信息规格的信息不停的请求服务,那么无疑会给数据库增加负荷量。而


正则表达式就是在客户端对提交的信息在格式方面就行第一步验证,如果连格式都不符合,那么就不需要请求数据库


服务了。这无疑大大减少了数据库的负荷。



知识结构导图





实例讲解


 1.修饰符可选参数  (I:忽略大小写;   g:全局匹配;    m :多行匹配)



   Var pattern  =  /box/;



   Var pattern = new RegExp(’box’); 



RegExp对象



 2.RegExp对象


   对象的两个常用方法Exec()、Test()和不常用的一个方法compile。



   Exec():在字符串中执行匹配搜索,返回结果数组;



   Test():在字符串中匹配,返回ture 或false;



JS 代码:


<span style="font-family:SimSun;font-size:18px;"><html>
<body>
<script type="text/javascript">
//定义正在表达式 patt1,并且检索“e”字符,范围为忽略大小写(i)和全局匹配(g)
var patt1=new RegExp("e","ig");
// 定义自变量字符串 s 
var s= 'The best things in life are free';
//如果S 里面有e则提示true,反之提示false
alert("正则的Test()方法显示: "+patt1.test(s));
//如果S 里面有“e”,返回结果数组。
//document.write(patt1.exec(s));
alert("正则的Exec()方法显示: "+patt1.exec(s));
//将检索内容‘e’,改变成'd'
patt1.compile("d");
alert("运用compile()后正则的Test()方法显示: "+patt1.test(s));
</script>
</body>
</html>
</span>

效果显示依次为:







 RegExp 的静态属性

           

 

属性

短名

含义

Imput

$_

当前被匹配的字符串

lastMatch

$&

最后一个匹配字符串

lastParen

$+

最后一对圆括号内的匹配子串

leftContext

$`

最后一次匹配前的子串

Multiline

$*

用于指定是否所有的表达式都用于多行布尔值

rightContext

$’

在上次匹配之后的子串


 RegExp 的实例属性

         

属性

含义

Global

Boolean 值,表示g 是否已经设置;

IgnoreCase

Boolean值,表示I 是否英已经设置;

lastIndex

整数,代表下次匹配将从那个字符位置开始;

Multiline

Boolean值,表示m 是否已经设置;

Source

正则表达式的源字符串形式

 


 String 对象


 

方法

含义

Match()

返回pattern 中的子串或者null;

Replace(pattern,replacement)

用replacement 替换 pattern;

Search(pattern)

返回字符串中pattern 开始位置;

Split(pattern)

返回字符串按指定pattern 拆分的数组;


  

JS 代码:

<span style="font-family:SimSun;font-size:18px;"><html>
<body>
<script type="text/javascript">
//定义正则,并检索内容为dog,ig全局搜索忽略大小写
var pattern = /dog/ig; 
//定义字符串str
var str = 'This is a dog!,That is a Dog too';
//使用字符串的match方法,将匹配到两个 dog,Dog
alert(str.match(pattern)); 
//match pattern 后获取数组的长度:2
alert(str.match(pattern).length); 
//查找到返回位置:10,否则返回-1
alert((str.search(pattern)));
//将 Box 替换成了 Tom
alert(str.replace(pattern, 'Cate'));  
//将空格拆开分组成数组
alert(str.split(pattern)); 
</script>
</body>
</html></span>

效果显示依次为:














元字符

      关于正则表达式元字符的学习会在下次介绍。



      推荐相关博客学习和资料:



           JavaScript中正则表达式:    



           W3C网 JS 教程很不错:      



      ps:在W3C网中,可以直接进行JS代码编辑,随时随刻显示显示内容。



         方法:找到网页中显示 ”亲自试一试“的字样,点击进入,就可以直接写入JS 代码,直接查看效果。



         

总结:



     随着对JS的学习,发现JS的正则表达式作用真是太大了,对客户端提交信息可以进行各种样式的格式检验和信


息匹配。


        


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值