js中使用replace方法完成某个字符的转换,HTMLDec
分类:关于美高梅

复制代码 代码如下:

js中使用replace方法完成某个字符的转换,jsreplace

复制代码 代码如下:

var str = "国字[1990]12号";

如何把变量中的“[”和“]”的前面加上反斜杠,

就是要替换成这样:str = "国字[1990]12号";

复制代码 代码如下:

<script language="javascript" type="text/javascript">
var str = "国字[1990]12号";
str=str.replace(/[/g,'\[');
str=str.replace(/]/g,'\]');
document.write(str);
</script>

方法一:
用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText(ie支持)||textContent(火狐支持),然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串,显示的时候反过来就可以了(实际上显示的时候不用通过转换,直接赋值在div就可以正常显示的)。

定义和用法

var str = "国字[1990]12号";

js的replace怎全部替换目标字符串

js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串。但是一般使用字符串进行查找替换只能替换第一个符合条件的结果。如
var str = 大家都是男人吗,难道不是吗!;
str = str.replace('吗', '嘛');
alert(str);
var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);
上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗! ,嘿嘿
如果想全部替换字符串中全部符合条件的内容,用正则表达式替换是个不错的办法,如下代码可以实现全部替换
var str='大家都是男人吗,难道不是吗?';
str = str.replace(/吗/g, '嘛');
alert(str);
var str='大家都是男人吗,难道不是吗?';str = str.replace(/吗/g, '嘛');alert(str);
这样就会输出大家都是男人嘛,难道不是嘛?,全部符合条件的内容都被替换了,特别要注意的是正则表达式 /吗/g 这里的g,这个g表示全局,不给这个配置项是不会全部替换的。
当然通过复杂的正则表达式,js的replace还能实现更丰富的字符串替换处理效果的。  

复制代码 代码如下:

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

如何把变量中的“[”和“]”的前面加上反斜杠,

js的replace怎全部替换目标字符串

js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串。但是一般使用字符串进行查找替换只能替换第一个符合条件的结果。如var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗! ,嘿嘿如果想全部替换字符串中全部符合条件的内容,用正则表达式替换是个不错的办法,如下代码可以实现全部替换var str='大家都是男人吗,难道不是吗?';str = str.replace(/吗/g, '嘛');alert(str);var str='大家都是男人吗,难道不是吗?';str = str.replace(/吗/g, '嘛');alert(str);这样就会输出大家都是男人嘛,难道不是嘛?,全部符合条件的内容都被替换了,特别要注意的是正则表达式 /吗/g 这里的g,这个g表示全局,不给这个配置项是不会全部替换的。当然通过复杂的正则表达式,js的replace还能实现更丰富的字符串替换处理效果的。  

复制代码 代码如下: var str = "国字[1990]12号"; 如何把变量中的“[”和“]”的前面加上反斜杠...

<script type="text/javascript">
function HTMLEncode(html)
{
var temp = document.createElement ("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
function HTMLDecode(text)
{
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
var html = "<br>dffdf<p>qqqqq</p>";
var encodeHTML = HTMLEncode(html);
alert("方式一:" + encodeHTML);
var decodeHTML = HTMLDecode(encodeHTML);
alert("方式一:" + decodeHTML);
</script>

语法

就是要替换成这样:str = "国字[1990]12号";

方法二:
通过把正则表达式把<>和空格符转换成html编码,由于这种方式不是系统内置的所以很容易出现有些特殊标签没有替换的情况,而且效率低下

stringObject.replace(regexp,replacement)

复制代码 代码如下:

复制代码 代码如下:

参数  描述
regexp 必需。规定了要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

<script language="javascript" type="text/javascript">
var str = "国字[1990]12号";
str=str.replace(/[/g,'\[');
str=str.replace(/]/g,'\]');
document.write(str);
</script>

<script type="text/javascript">
function HTMLEncode2(str)
{
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(/'/g,"'");
s = s.replace(/"/g,""");
return s;
}
function HTMLDecode2(str)
{
var s = "";
if(str.length == 0) return "";
s = str.replace(/&/g,"&");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
s = s.replace(/ /g," ");
s = s.replace(/'/g,"'");
s = s.replace(/"/g,""");
return s;
}
var html = "<br>ccccc<p>aaaaa</p>";
var encodeHTML = HTMLEncode2(html);
alert("方式二:" + encodeHTML);
var decodeHTML = HTMLDecode2("方式二:" + encodeHTML);
alert(decodeHTML);
</script>

返回值

您可能感兴趣的文章:

  • JavaScript 中的replace方法说明
  • JS的replace方法与正则表达式结合应用讲解
  • javascript replace方法与正则表达式
  • JS的replace方法介绍
  • JS的replace方法详细介绍
  • Js 回车换行处理的办法及replace方法应用
  • js中的replace方法使用介绍
  • JS的replace方法
  • JS中的Replace方法使用经验分享

您可能感兴趣的文章:

  • php中json_decode()和json_encode()的使用方法
  • js中encode、decode的应用说明
  • javascript encodeURI和encodeURIComponent的比较
  • 浅析php中json_encode()和json_decode()
  • JS中encodeURIComponent函数用php解码的代码
  • php数组转换js数组操作及json_encode的用法详解
  • JS的encodeURI和java的URLDecoder.decode使用介绍
  • php中json_encode UTF-8中文乱码的更好解决方法
  • JS对URL字符串进行编码/解码分析
  • javascript另类方法实现htmlencode()与htmldecode()函数实例分析

一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

说明

字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

replacement 可以是字符串,也可以是函数。如果它是字符串,那么没有匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
字符  替换文本
$1、$2、...、$99  与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
$& 与 regexp 相匹配的子串。
$` 位于匹配子串左侧的文本。
$' 位于匹配子串右侧的文本。
% 直接量符号。

注意:ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

实例

例子 1

在本例中,我们将使用 "W3School" 替换字符串中的 "Microsoft":

复制代码 代码如下:

<script type="text/javascript">

var str="Visit Microsoft!"
document.write(str.replace(/Microsoft/, "W3School"))

</script>

输出:

Visit W3School!

例子 2

在本例中,我们将执行一次全局替换,每当 "Microsoft" 被找到,它就被替换为 "W3School":

复制代码 代码如下:

<script type="text/javascript">

var str="Welcome to Microsoft! "
str=str + "We are proud to announce that Microsoft has "
str=str + "one of the largest Web Developers sites in the world."

document.write(str.replace(/Microsoft/g, "W3School"))

</script>

输出:

Welcome to W3School! We are proud to announce that W3School
has one of the largest Web Developers sites in the world.

例子 3

您可以使用本例提供的代码来确保匹配字符串大写字符的正确:

复制代码 代码如下:

text = "javascript Tutorial";
text.replace(/javascript/i, "JavaScript");

例子 4

在本例中,我们将把 "Doe, John" 转换为 "John Doe" 的形式:

复制代码 代码如下:

name = "Doe, John";
name.replace(/(w+)s*, s*(w+)/, "$2 $1");

例子 5

在本例中,我们将把所有的花引号替换为直引号:

复制代码 代码如下:

name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'");

例子 6

在本例中,我们将把字符串中所有单词的首字母都转换为大写:

复制代码 代码如下:

name = 'aaa bbb ccc';
uw=name.replace(/bw+b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);

例子 7

复制代码 代码如下:

var str="fsaf$a$assdfdasfa$a$dsfadsf";
var strr='$'+'a'+'$';
var name = '"a", "b"';
var reger=new RegExp("[$]a[$]","gm");

alert(str.replace(reger,'555888'));

PS:这里再为大家提供一款功能强大的在线正则工具供大家使用:

JavaScript正则表达式在线测试工具:

正则表达式在线生成工具:

您可能感兴趣的文章:

  • JS正则截取两个字符串之间及字符串前后内容的方法
  • JS基于正则截取替换特定字符之间字符串操作示例
  • 正则表达式实现字符的模糊匹配功能示例
  • JS正则表达式获取字符串中特定字符的方法
  • 利用正则表达式将字符串分组示例代码
  • js正则表达式 匹配两个特定字符间的内容示例

本文由美高梅网址发布于关于美高梅,转载请注明出处:js中使用replace方法完成某个字符的转换,HTMLDec

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文