xxx.subString is not a function?

        最近在做项目的时候碰到了一个这个错误,我想实现的效果是将一长串字符串的中间部分给隐藏起来,比如说下面这种效果:

         不用说各位也知道怎么做。那我也说下我的想法:

1.var str = 要隐藏的字符串

2.var temp = str.subString(start,end)

3.str = str.replace(new Rexp(temp),"****");

        上述步骤是正确的,但是却在控制台报了这个错误,我真的是莫名其妙,一直查阅资料也找不到问题所在,我还以为str不是个string类型,typeof之后也是一个字符串类型,然后突然将subString换成slice就好使了,而且这二者的效果是一致的。

        所以要注意的是,如果各位也碰到了这个错误一头雾水的话,不妨试试把subString换成slice,也许就可以生效。

        另外要提一点的是,replace的第一个参数,如果用正则,那么正则里面就得用具体的需要匹配的字符串,不能写变量,像上面那样正则接受一个变量的情况就需要利用Rexp创建一个正则的对象,然后用它来接受一个变量。

猜你喜欢

转载自blog.csdn.net/qq_41083105/article/details/118796642