好好学一遍JavaScript 笔记(五)——正则表达式基础
来源:未知 责任编辑:责任编辑 发表时间:2015-10-08 14:15 点击:次
javaScript正则——RegExp:
RegExp有个test()方法、如果给定字符串(只有一个参数)匹配这个模式、它就返回true、否则返回false。
正则表达式中/i,/g,/ig,/gi,/m的区别和含义
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
[javascript]
var str = "jfkd@s,laj@fd,safd@saf,ds@";
var res = /@/gi; //全文查找@
alert(res.test(str)); //输出:true
exec()方法、有一个字符串参数、返回一个数组。数组的第一个条目是第一个匹配、其它的是反向引用。
[javascript]
//aStr只包含第一个实例、就是"jfkd@sla"中的@
var aStr = res.exec(str);
alert(aStr);
String对象有个match()方法、它会返回一个包含在字符串中的所有匹配的数组
[javascript]
alert(str.match(res)); //输出:@,@,@,@
另一个叫做seartch()的字符串方法的行为与indexOf()有些类似、但是它使用一个RegExp对象而非仅仅一个子字符串。Search()方法返回在字符串中出现的一个匹配的位置。
[javascript]
//它从字符的索引[0]的位置开始查找
alert(str.search(res)); //输出:4
replace():
[javascript]
/**
* replace()、它可以用另一个字符串(第二个参数)来替换某个子串(第一个参数)的所有匹配
*/
var sRep = str.replace("@","瘦马");
alert(sRep); //输出:jfkd瘦马s,laj@fd,safd@saf,ds@
/**
* 也可以将正则表达式当作第一个参数
*/
alert(str.replace(res,"瘦马")); //输出:jfkd瘦马s,laj瘦马fd,safd瘦马saf,ds瘦马
/**
* 也可以指定一个函数作为replace的第二个参数
*/
var sFun = str.replace(res,function(){
return "瘦马";
});
alert("---------------"+sFun); //输出:jfkd瘦马s,laj瘦马fd,safd瘦马saf,ds瘦马 <span><span class="comment"></span></span>
[javascript]
/**
* split()
*/
alert(str.split("@"));
//使用正则表达式、也可以实现相同功能
alert(str.split(/@/));
[html]
<!-- 一个replace方法处理的只能输入数字的示例 -->
<input size="25" value="" id="maxnum" name="tbmeetroom.maxnum" _cke_saved_name="tbmeetroom.maxnum"
RegExp有个test()方法、如果给定字符串(只有一个参数)匹配这个模式、它就返回true、否则返回false。
正则表达式中/i,/g,/ig,/gi,/m的区别和含义
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
[javascript]
var str = "jfkd@s,laj@fd,safd@saf,ds@";
var res = /@/gi; //全文查找@
alert(res.test(str)); //输出:true
exec()方法、有一个字符串参数、返回一个数组。数组的第一个条目是第一个匹配、其它的是反向引用。
[javascript]
//aStr只包含第一个实例、就是"jfkd@sla"中的@
var aStr = res.exec(str);
alert(aStr);
String对象有个match()方法、它会返回一个包含在字符串中的所有匹配的数组
[javascript]
alert(str.match(res)); //输出:@,@,@,@
另一个叫做seartch()的字符串方法的行为与indexOf()有些类似、但是它使用一个RegExp对象而非仅仅一个子字符串。Search()方法返回在字符串中出现的一个匹配的位置。
[javascript]
//它从字符的索引[0]的位置开始查找
alert(str.search(res)); //输出:4
replace():
[javascript]
/**
* replace()、它可以用另一个字符串(第二个参数)来替换某个子串(第一个参数)的所有匹配
*/
var sRep = str.replace("@","瘦马");
alert(sRep); //输出:jfkd瘦马s,laj@fd,safd@saf,ds@
/**
* 也可以将正则表达式当作第一个参数
*/
alert(str.replace(res,"瘦马")); //输出:jfkd瘦马s,laj瘦马fd,safd瘦马saf,ds瘦马
/**
* 也可以指定一个函数作为replace的第二个参数
*/
var sFun = str.replace(res,function(){
return "瘦马";
});
alert("---------------"+sFun); //输出:jfkd瘦马s,laj瘦马fd,safd瘦马saf,ds瘦马 <span><span class="comment"></span></span>
[javascript]
/**
* split()
*/
alert(str.split("@"));
//使用正则表达式、也可以实现相同功能
alert(str.split(/@/));
[html]
<!-- 一个replace方法处理的只能输入数字的示例 -->
<input size="25" value="" id="maxnum" name="tbmeetroom.maxnum" _cke_saved_name="tbmeetroom.maxnum"
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>