日期:2014-05-16  浏览次数:20428 次

JavaScript(js)字符串替换函数replace的用法

replace
语法 stringObj.replace(rgExp, replaceText)

replace 方法的语法包括下述部分:

部分 描述
stringObj? 必选项。要执行该替换的 String 对象或文字。该对象不会被 replace 方法修改。?
rgExp? 必选项。描述要查找的内容的一个正则表达式对象。?
replaceText? 必选项。是一个String 对象或文字,对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。
例如:

<script language="javascript">
var strM = "javascript is a good script language";
//在此我想将字母a替换成字母A
alert(strM.replace("a","A"));
</script>

这样只能替换第一个“a”字母

<script language="javascript">
var strM = "javascript is a good script language";
//在此将字母a全部替换成字母A
alert(strM.replace(/a/g,"A"));
</script>

这样可以替换所有“a”字母。其中g为全局标志

?

?

JavaScript--正则表达式

  正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹

配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。

正则表达式构造函数: new RegExp("pattern"[,"flags"]);?
参数说明:?
pattern -- 一个正则表达式文本?
flags -- 如果存在,将是以下值:?
g: 全局匹配?
i: 忽略大小写?
gi: 以上组合

在构造函数中,一些特殊字符需要进行转意(在特殊字符前加"\")。正则表达式中的特殊字符:?
字符? 含意??
\ 转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为

匹配一个单词的边界。?
-或-?
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/

将只匹配"a*"。??
^? 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"??
$? 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"??
*? 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa??
+? 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa??
?? 匹配前面元字符0次或1次,/ba*/将匹配b,ba??
(x)? 匹配x保存x在名为$1...$9的变量中??
x|y? 匹配x或y??
{n}? 精确匹配n次??
{n,}? 匹配n次以上??
{n,m}? 匹配n-m次??
[xyz]? 字符集(character set),匹配这个集合中的任一一个字符(或元字符)??
[^xyz]? 不匹配这个集合中的任何一个字符??
[\b]? 匹配一个退格符?
\b? 匹配一个单词的边界??
\B? 匹配一个单词的非边界?
\cX? 这儿,X是一个控制符,/\cM/匹配Ctrl-M??
\d? 匹配一个字数字符,/\d/ = /[0-9]/??
\D? 匹配一个非字数字符,/\D/ = /[^0-9]/??
\n? 匹配一个换行符??
\r? 匹配一个回车符??
\s? 匹配一个空白字符,包括\n,\r,\f,\t,\v等??
\S? 匹配一个非空白字符,等于/[^\n\f\r\t\v]/??
\t? 匹配