JavaScript高级程序设计学习笔记6:正则表达式
一、正则表达式通过RegExp类实现,RegExp对象的构造函数可以带一个或两个参数。第一个参数(或只有一个参数)是描述需要进行匹配的模式字符串,如果还有第二个参数,这个参数则指定了额外的处理指令。
定义正则表达式:
1、只匹配字符串中出现的第一个单词"cat";区分大小写
var reCat = new RegExp("cat");
2、匹配字符串中出现的全部"cat",而不是在找到第一个匹配后就停止;忽略大小写
var reCat = new RegExp("cat","gi");
也可以使用Perl风格的语法:
var reCat = /cat/gi;
二、创建一个RegExp对象后,把它应用到字符串上。RegExp和String的一些方法都可使用。
1、RegExp有个test()方法,如果给定字符串匹配这个模式,它就返回ture,否则返回false。
var sToMatch = "a fat cat";
var reCat = /at/;
alert(reCat.test(sToMatch)); //true
2、String对象的match()方法返回一个包含在字符串中的所有匹配的数组
var sToMatch = "a bat, a Cat, a fAt baT, a faT cat";
var reAt = /at/gi;
alert(sToMatch.match(reAt)); //at,at,At,aT,at,
3、String对象的search()方法返回在字符串出现的第一个匹配的位置,全局匹配正则表达式(带参数g)在使用search()时不起作用
var sToMatch = "a bat, a Cat, a fAt baT, a faT cat";
var reAt = /at/gi;
alert(sToMatch.search(reAt)); //3
4、扩展的字符串方法,replace()可以用用另一个字符串(第二个参数)来替换某个子串(第一个参数)的所有匹配。可以给第一个参数传递一个正则表达式
var sToChange = "a bat, a Cat, a fAt baT, a faT cat";
var reAt = /at/gi;
alert(sToChange.replace(reAt, "dog")); //a bdog, a Cdog, a fdog bdog, a fdog cdog
三、字符类是用于测试的字符的组合。通过将一些字符放入方括号[]中,可以去匹配第一个字符、第二个字符等等。
1、简单类,匹配方括号中的字符
var sToMatch = "a bat, a
相关文档:
1.大家在实际工作中,会写各式各样的赋值语句。
比如最常用的obj.style.display = "none";
如果这样的赋值语句一多,obj.style一排下来都要看晕了
下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄
/**
* 扩展函数
* @param target 需要扩展的对象
* @para ......
JavaScript 中使用 replace 达到 replaceAll的效果
方法: string.replace(new RegExp(oldString,"gm"),newString))
gm g=global, m=multiLine , 大致上方法就是这样的,可以实现替换全部指定字串
另一个简单的验证JS的方法:
在浏览器地址栏输入
javascript:alert("abcabc ......
首先在body中加入以下HTML内容:
<div id="panel">
<div id="top">
<ul id="menu">
<li id="1">Home</li>
&n ......
<script language="JavaScript" type="text/javascript" >
<!--
.
//-->
</script>
.language已经被弃用,但为了兼容旧版本浏览器而保留,所以建议同时使用这language和type两个
.<!--- //-->& ......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DOM</title>
<meta http-equiv="Content-Type&quo ......