string - 為什麼Javascript的replace結果是這樣子的?
PHP中文网
PHP中文网 2017-04-10 15:07:04
[JavaScript讨论组]

在Chrome42中運行如下Javascript

javascriptvar str=",,,,"
document.write(str.replace(",",""))

運行結果:

javascript,,,

為什麼呢?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
大家讲道理

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

黄舟

String.replace()方法默认只替换第一个匹配的字符,想全局匹配可以使用正则表达式作为匹配条件。

ringa_lee

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Glob...

天蓬老师

因爲 str.replace 是用正則匹配的,而 v8 不支持第一個參數是字符串時指定 flag。

所以 str.replace(',', '') 等價於 str.replace(/,/, ''),只匹配第一個。

天蓬老师

str.replace(/,/g, '')

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号