JS中的replace函数

今天在写微信小程序时遇到一个关于文本替换函数replace问题。代码如下:

var strStartDate = '2018-09-30'
var strEndDate = '2018-10-30'
var tmpStartDate = strStartDate.replace("-", "/")
var tmpEndDate = strEndDate.replace("-", "/")
console.log("StartDate: " + tmpStartDate)
console.log("EndDate: " + tmpEndDate)

打印结果如下:

StartDate: 2018/09-30
EndDate: 2018/10-30

黑人问号脸???
原来,JS中replace本身就是只替换第一个字符。若要实现全局替换,需要修改第一个参数将要替换的字符放在/要替换的字符/g中。修改后的代码如下:

var strStartDate = '2018-09-30'
var strEndDate = '2018-10-30'
var tmpStartDate = strStartDate.replace(/-/g, "/")  //注意第一个参数
var tmpEndDate = strEndDate.replace(/-/g, "/")      //注意第一个参数
console.log("StartDate: " + tmpStartDate)
console.log("EndDate: " + tmpEndDate)

打印结果如下:

StartDate: 2018-09-30
EndDate: 2018-10-30
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容