关闭

js中字符的替换(如用单引号提换双引号)

标签: js字符替换双引号替换单引号
214人阅读 评论(0) 收藏 举报

最近遇到一个问题,需要将Json转为String(  js中json对象和string互转 ),String对象内的单引号需要为双引号,就查了一下,做了一个总结。

JS提供的replace()方法正好解决了字符替换的问题。

stringObject.replace(regexp/substr,replacement)

参数 描述
regexp/substr

必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。
如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。


下面是一个Json转String后,用双引号提换单引号;

<!DOCTYPE html >
<html > 
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="button" value="click" onclick="clickMe()" />
		<script type="text/javascript">
			var w = {a:"A",b:"B",c:"C"};
			function clickMe(){
				w = json2str(w);
				console.log(w);
				//引号提换
				w = w.replace(/'/g, '"');
				console.log(w);
			}
			/** 
			* json对象转字符串形式 
			*/ 
			function json2str(o) { 
			var arr = []; 
			var fmt = function(s) { 
			if (typeof s == 'object' && s != null) return json2str(s); 
			return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; 
			} 
			for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); 
			return '{' + arr.join(',') + '}'; 
			} 
		</script>
	</body>
</html>
实现效果如下


全剧替换

<!DOCTYPE html >
<html > 
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="button" value="click" onclick="clickMe()" />
		<script type="text/javascript">
			function clickMe(){
				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>
	</body>
</html>
效果如下


把字符串中所有单词的首字母都转换为大写:

<!DOCTYPE html >
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
		<input type="button" value="click" onclick="clickMe()" />
		<script type="text/javascript">
			function clickMe() {
				name = 'aaa bbb ccc';

				uw = name.replace(/\b\w+\b/g, function(word) {
					return word.substring(0, 1).toUpperCase() + word.substring(1);
				});

				document.write(uw);

			}
		</script>
	</body>

</html>
结果如下





1
0
查看评论

js-常用替换“单引号”、“双引号”、“尖括号

js-常用替换“单引号”、“双引号”、“尖括号”……   var str=" str=str.replace(/\'/g,"’");//替换半角单引号为全角单引号 str=str.replace(/\"/g,&qu...
  • bluexuemei
  • bluexuemei
  • 2015-01-09 15:17
  • 1535

js 单引号替换成双引号,双引号替换成单引号 操作

1.双引号替换成单引号 var _adrobj = JSON.stringify(address).replace(/\"/g,"'");ps:var a = {a:1,b:2}; JSON.stringify(a)====>"{"a&...
  • Joyhen
  • Joyhen
  • 2015-01-29 15:08
  • 26342

JS中正则表达式替换单引号等说明

一般情况下,在拼接字符串为json格式的过程中,如果字符串含有单引号,双引号等特殊字符时,在解析json的过程中就会报错。同样,在别的格式使用的时候也会报错。 通常做法是将其替换为非特殊字符,然后再将其还原。 如下: var word = "I'm json!"...
  • socoldinxian
  • socoldinxian
  • 2013-09-05 10:47
  • 4479

js中单引号和双引号的使用区别

1.引入 在jquery或者js中拼接字符串时,使用单引号和双引号是没有区别的,都可以被成功解析成字符串,但是,在一些复杂的字符串拼接时,需要单引号和双引号的混合使用时,就需要注意了。最近在项目中写js脚本时,发现firebug经常会报多一个单引号或者多一个双引号这种低级错误。但是要是搞不清这两者...
  • ya_1249463314
  • ya_1249463314
  • 2016-12-21 11:30
  • 6285

替换php字符串中的单引号为双引号

$param = "{'id':'12', 'name':'hi'}";$new = preg_replace('/\"/', '"', $param);
  • zhf9208
  • zhf9208
  • 2013-08-01 00:52
  • 2304

js 中的双引号和单引号使用总结

单引号和双引号其实没啥区别,看你自己习惯了 -------------------不正确 -------------------正确 双引号中再用双引号要这样: var str = "abc\"def\"ghi" 用反斜杠来禁止解析双引号。 下面是...
  • qishuo_java
  • qishuo_java
  • 2014-10-23 21:05
  • 2115

JavaScript中字符串的拼接出错,单引号双引号混合使用

在各种编程语言中均有字符串数据类型,但在JavaScript中的使用较为特殊,JavaScript中的字符串类型可以同时使用双引号(“”)或单引号(‘’)作为界定符,例如: var strDemo1="test string"; 或者: var strDemo2=&...
  • lemmata
  • lemmata
  • 2016-12-24 23:11
  • 2960

javascript字符串单引号与双引号的区别

最近在使用javascript编程,遇到使用字符串的情况 写了一点测试代码 var str = 'This is Jack'; var str2 = 'This is Tom'; var str3 = 'Th...
  • irXiang
  • irXiang
  • 2015-12-03 19:09
  • 5255

js中单引号双引号的处理

这几天在项目中遇到要动态添加li标签并且要给该标签添加点击事件同时传入ajax获取到的数据,这就需要与单引号和双引号同时打交道,由于我js技术还不是很好,这对我来说比较麻烦,后来百度找到了解决办法。这里记录下解决方法。 2017 1-12 10:55 --> 由于函数传入参...
  • zymx14
  • zymx14
  • 2017-03-28 23:51
  • 610

Js中的单引号与双引号问题

1.单引号和双引号基本都是一种概念,但是二者一起出现时,需要特别注意 2.单引号包含双引号的时候,里面的双引号不用转义,反之亦然   看下面代码: -------------------不正确 -------------------正确 双引号中再用双引号要这样(用转义...
  • Caster_Saber
  • Caster_Saber
  • 2015-02-21 19:17
  • 2691
    个人资料
    • 访问:5147次
    • 积分:158
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条