字符串中有‘\‘的特殊字符前面加转义符

字符串中有'\'的特殊字符前面加转义符


我们常常会遇到这样的问题,在输入框中输入包含特殊字符 \ 的文本去搜索的时候,我们输入的是什么样的传给后台的文本就是什么样的,比如:输入 “我的\” 或者 “我的\我的\\我” 的时候传给后端的代码就是这样的,那么接口就会报错,下面就是对这个问题的解决办法:

  escAddFun(value){
        // 先对拿到的字符进行分割(分割完之后是一个数组)
        let valueSplit = value.split("")
        // 创建一个自定义的数组用于存放特殊字符的坐标
        let valueSplitIndex = []
        // 遍历分割完的字符数组,把特殊字符的坐标存放在自定义的数组中
        for (var i = 0; i < valueSplit.length; i++) {
          if (valueSplit[i] == "\\") {
            valueSplitIndex.push(i)
          }
        }
        // 遍历坐标数组
        for (let i = 0; i < valueSplitIndex.length; i++) {
          // 给字符数组的特殊字符坐标位置后边加转义符(这里往后面加而不是往前面加的原因是前面加了转义符之后,后面的那个特殊字符的坐标就变化了)
          valueSplit.splice(valueSplitIndex[i] + 1, 0, "\\");
        }
        // 对字符数组进行拼接获得新字符串(此时就为给\加上转义符的字符串了)
        let newValue = valueSplit.join("")
        return newValue;
      },

把方法直接复制在js中,调用之后的返回值就是处理之后的结果了,问题也就完美的解决了。
调用代码:

const value =  “我的\我的\\”
let valueNew = escAddFun(value)
//得到结果为“我的\\我的\\\\”加上了转义符

这样就不会报错啦!!!!
(٩(๑❛ᴗ❛๑)۶前端小菜鸟一只,大家如果有其他更简单的方法,欢迎来交流哦!)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值