前端检测字符串中是否含有特殊字符,并返回该特殊字符
一、判断字符串中是否含有特殊字符
const hasSpecicalCharacter = (str) => {
var regex = /[!@#$%^&*(),.?":{}|<>]/
return regex.test(str)
}
//含有特殊字符返回true, 没有特殊字符返回false
二、判断字符串中是否含有特殊字符,并返回该特殊字符
// 判断姓名格式是否包含特殊字符
const specialCharsRegex = /[^\w\s]/g;---->匹配非字母、数字或空格的字符
//const specialCharsRegex = /[^\u4e00-\u9fa5a-zA-Z0-9\s]/g;---->匹配非汉字、字母、数字或空格的字符
const matchedSpecialChars = exportInputData.value.patientName.match(specialCharsRegex);
if(matchedSpecialChars && matchedSpecialChars.length > 0){
let mactedSpcStr = matchedSpecialChars.join(' ')
ElMessage.warning(`姓名中包含特殊字符${mactedSpcStr},不可下载!`)
return
}
//match匹配到则返回特殊字符数组,未匹配到则返回null
注意:match方法如果匹配的是正则,正则如果加了/g,那么匹配到的结果是所有符合正则的元素组成的数组;
如果不加/g,那么匹配到的结果就是第一个符合正则的元素对象(包含元素值、位置等)