需求
- 给用户一个输入框
- 查询订单号
- 支持输入多个订单号,
- 不能提示用户以英文的逗号分割
解决思路
- 正则
- for循环
getTable(){
let params
if (this.searchForm.orderCode) {
const JsonForm = JSON.parse(JSON.stringify(this.searchForm))
const specialKey = "[`·~@,!#$^%&*()=|{}',:;'\\[\\].<>/?~!#¥@,……&%*()——|{}【】‘;:,”“'。,、?]‘'"
for (let i = 0; i < JsonForm.orderCode.length; i++) {
if (specialKey.indexOf(JsonForm.orderCode.substr(i, 1)) !== -1) {
JsonForm.orderCode = JsonForm.orderCode.replace(JsonForm.orderCode[ i ], ',')
}
}
JsonForm.orderCode = JsonForm.orderCode.replace((/(\s+)/g), ',')
params = JsonForm
} else {
params = this.searchForm
}
}
orderCode支持传多条,无论用户以什么分隔code,都用英文,来分隔替代
JsonForm.orderCode = JsonForm.orderCode.replaceAll(/[^\w\s]/g, '').replaceAll((/(\s+)/g), ',')
let params
if (this.searchForm.orderCode) {
const searchForm = { ...this.searchForm }
searchForm.orderCode = searchForm.orderCode.replace(/[`·~@,!#$^%&*()=|{}',:;'\[\].<>\/?~!#¥@,……&%*()——|{}【】‘;:”“'。,、?\s]/g, ',').replace(/,+/g, ',')
params = searchForm
} else {
params = this.searchForm
}