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

javascript 专栏收录该内容
3 篇文章 0 订阅

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


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

  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)
//得到结果为“我的\\我的\\\\”加上了转义符

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

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值