要阻止双引号("
)、反斜杠(\
)、Emoji表情、空行和空格,可以使用以下正则表达式:
^[^"\\\s\p{Emoji}]+$
^
- 匹配字符串开头[^...]
- 否定字符类,匹配不在括号内的任何字符
"
- 双引号\\
- 反斜杠(需要转义)\s
- 任何空白字符(包括空格、制表符、换行符等)\p{Emoji}
- Unicode Emoji字符+
- 匹配前面的元素一次或多次$
- 匹配字符串结尾const regex = /^[^"\\\s\p{Emoji}]+$/u;
if (!regex.test(inputString)) {
alert("输入包含非法字符");
}
import re
regex = r'^[^"\\\s\p{Emoji}]+$'
if not re.fullmatch(regex, input_string, flags=re.UNICODE):
print("输入包含非法字符")
String regex = "^[^\"\\\\\\s\\p{Emoji}]+$";
if (!inputString.matches(regex)) {
System.out.println("输入包含非法字符");
}
u
标志来启用Unicode支持如果只需要阻止特定字符而不需要复杂匹配,也可以使用更简单的检查:
function isValidInput(input) {
return !/["\\\s]|\p{Emoji}/u.test(input);
}