vue v-mode.trim 只能去掉首尾空格,有什么办法 把中间空格也处理了 另外把全角逗号,替换为半角逗号
课程设计
1
vue v-mode.trim 只能去掉首尾空格,有什么办法 把中间空格也处理了,另外把全角,替换为半角逗号
-
推荐你还是放在 axios 去处理这些问题 最好不要去限制它的输出,因为不能输空格是很怪异的一种行为 只能说提交数据的时候 默认的去移除掉这些数据 在 axios 里的话,在请求拦截器里面 可以全局的处理一下这个问题 这样你也不需要每个数据都处理一次 当然这个只是去除掉首尾的空格,你可以使用正则在最后return的数据进行一次替换 替换掉空格 特殊字符等等
/** * @description: 2021-05-14 请求参数首尾去空格 * @param {*} data * @return {*} */ function isTrim(data) { // 首先需要判断当前的config中是否存在data值 if (data && data instanceof Object) { for (const key in data) { if (Object.hasOwnProperty.call(data, key)) { // 此处我们不要使用 let element = data[key] 注意 如果采用这种方式的话对应trim改变的值和data[key]将不再会是一个同一个内存地址 // 在需要判断一下当前数据是否是数组 if (Array.isArray(data[key])) { // 就将数组放进去 data[key] = isTrim(data[key]) } else if (data[key] && data[key] instanceof Object) { // 如果对象里面套对象的话 data[key] = isTrim(data[key]) } else if (data[key] && Object.prototype.toString.call(data[key]) == '[object String]') { // 如果对象里面的数据是String的话那么就直接trim只对String进行操作 data[key] = data[key].trim() } } } return data } else if (data && Object.prototype.toString.call(data) == '[object String]') { // 如果是字符串说明是JSON.parse需要转换 let dataObj = JSON.parse(data) // 转成对象之后在抛出去 dataObj = isTrim(dataObj) return JSON.stringify(dataObj) } else if (data && data instanceof Array) { // 如果是数组 那就forin一下 判断里面的数据类型 for (const key in data) { if (Object.hasOwnProperty.call(data, key)) { if ((data && data instanceof Object) || (data && data instanceof Array)) { data[key] = isTrim(data[key]) } } } return data } }
-
去空格
str.split(' ').join('')
换逗号
str.split(',').join(',')
发表回复