一、判断字符串中是否含有特殊字符
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,那么匹配到的结果就是第一个符合正则的元素对象(包含元素值、位置等)
参考:【JS】match() 方法_js match-CSDN博客