`

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

阅读更多
replace
语法 stringObj.replace(rgExp, replaceText)
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  匹配一个制表符 
\v  匹配一个重直制表符 
\w  匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"

中的5,等于[a-zA-Z0-9] 
\W  匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

说了这么多了,我们来看一些正则表达式的实际应用的例子:
HTML代码的屏蔽
function mask_HTMLCode(strInput) { 
var myReg = /<(\w+)>/; 
return strInput.replace(myReg, "&lt;$1&gt;"); 
} 
E-mail地址验证: 
function test_email(strEmail) { 
var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 
if(myReg.test(strEmail)) return true; 
return false; 
}

正则表达式对象的属性及方法:
预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext,

rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据

不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(

JavaScript模拟perl的正则表达式)

正则表达式对象的属性:
属性 含义
$1...$9 如果它(们)存在,是匹配到的子串 
$_ 参见input 
$* 参见multiline 
$& 参见lastMatch 
$+ 参见lastParen 
$` 参见leftContext 
$''          参见rightContext 
constructor     创建一个对象的一个特殊的函数原型 
global        是否在整个串中匹配(bool型) 
ignoreCase     匹配时是否忽略大小写(bool型) 
input        被匹配的串 
lastIndex      最后一次匹配的索引 
lastParen      最后一个括号括起来的子串 
leftContext     最近一次匹配以左的子串 
multiline      是否进行多行匹配(bool型) 
prototype      允许附加属性给对象 
rightContext    最近一次匹配以右的子串 
source        正则表达式模式 
lastIndex      最后一次匹配的索引

正则表达式对象的方法:
方法 含义
compile       正则表达式比较 
exec        执行查找 
test        进行匹配 
toSource      返回特定对象的定义(literal

representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。 
toString      返回特定对象的串。重载Object.toString方法得到的。 
valueOf       返回特定对象的原始值。重载Object.valueOf方法得到


例子:
<script language = "JavaScript"> 
var myReg = /(w+)s(w+)/; 
var str  = "John Smith"; 
var newstr = str.replace(myReg, "$2, $1"); 
document.write(newstr); 
</script> 
将输出"Smith, John"

参考网址:
http://blog.csdn.net/chenwei160803/article/details/7000225
分享到:
评论

相关推荐

    javascript字符串替换函数如何一次性全部替换掉

    1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉,那么我们如何才能一次性全部替换掉了? [removed] var s = LOVE LIFE ! LOVE JAVA ...; ...

    JavaScript使用replace函数替换字符串的方法

    本文实例讲述了JavaScript使用replace函数替换字符串的方法。分享给大家供大家参考。具体如下: JavaScript通过replace函数替换字符串,下面的代码将Visit Microsoft中的MicroSoft替换成jb51.net &lt;!DOCTYPE ...

    js中字符替换函数String.replace()使用技巧

    replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需。规定子字符串或要替换的模式的...

    javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同

    [removed] 结果:是只有替换了字符串的首字符a 这不是我要的结果 看↓ 2.replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换! [removed] var str = “ajfhslajd and”; //在此我...

    关于JS字符串函数String.replace()

    replacement: 替换文本的字符串,或者一个函数,用于在调用时生成对应的替换文本。 返回: 返回一个替换好的新字符串 描述: replacement可以是字符串或一个函数。如果是一个函数,它将在每个匹配结果上调用,它...

    replace-string:替换字符串中的所有子字符串匹配项

    替换字符串替换字符串中的所有子字符串匹配项与String#replace()类似,但支持替换多个匹配项。 通过将字符串放入带有全局标志的RegExp构造函数中并将其传递给String#replace() ,可以实现类似的效果,但是无论如何,...

    javascript字符串替换及字符串分割示例代码

    JS(JavaScript)字符串替换函数(有点像PHP的preg_replace) str.replace(‘xxx’, ‘yyyy’); 替换第一个 str.replace(/xxx/g, ‘yyyy’); 替换全部 字符串分割(类似PHP的分割函数) 代码如下: var test = ‘a-b-c-...

    JavaScript字符串插入、删除、替换函数使用示例

    replaceString(mainStr,searchStr,replaceStr) 函数,只能将字符串 mainStr 中最先找到的一个 searchStr 字符串替换为 replaceStr 字符串,并不能将字符串 mainStr 中所有的 searchStr 字符串替换为 replaceStr 字符...

    javascript replace()第二个参数为函数时的参数用法

    replace()函数具有替换功能,它可以具有两个参数,第一个参数可以是要被替换的字符串或者匹配要被替换字符串的正则表达式,第二个参数可以是替换文本或者一个函数,下面看一下关于replace()函数的几个代码实例。...

    也说JavaScript中String类的replace函数

    其实,W3school已经给出了答案: 代码如下: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。其语法为: stringObject.replace(regexp/substr,replacement) replacement ...

    PHP preg_replace() 正则替换所有符合条件的字符串

    需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的。 比如模版引擎解析模版、垃圾敏感信息过滤等等... 代码如下:preg_replace (正则表达式, 替换成, 字符串, 最大替换次数

    使用js的replace()方法查找字符示例代码

    第二个实参通常只是一个替换字符串(替换字符集),但他可以是用于确定替换字符串应当是什么的函数——如果是函数,则返回值应当用做俄日替换字符串。隐藏replace()方法的语法可以是如下任意一种: 代码如下: string...

    js正则表达式之replace函数用法

    此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串。 返回值是一个替换后的新字符串。 这里只介绍正则表达式的相关操作,其他替换操作可以参阅javascript的String对象的replace()方法一文。 语法结构: ...

    JavaScript实现的字符串replaceAll函数代码分享

    由于javascript中的replace函数无法替换全部匹配的字符串,所以需要为String类增加一个方法,代码如下: 代码如下: String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {   if (!RegExp...

    javascript将字符串中的多个空格替换为一个空格的正则实例

    javascript将字符串中的多个空格缩减为一个空格代码实例: 在实际应用中可能有这样的需求,那就是将字符串中的多个空格缩减为一个空格。 下面就是一段能够实现此功能的代码实例。 代码如下: //对字符串扩展 String....

    JS利用正则配合replace替换指定字符

    replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 语法 stringObject.replace(regexp,replacement) 参数 描述 regexp 必需。规定了要替换的模式的 RegExp 对象。请...

    js使用Replace结合正则替换重复出现的字符串功能示例

    本文实例讲述了js使用Replace结合正则替换重复出现的字符串功能。分享给大家供大家参考,具体如下: 今天想把网站上关于用户搜索资料后的结果列表进行处理,如同百度搜索一样,加入我搜索框中输入“我要日日发网络”...

Global site tag (gtag.js) - Google Analytics