敏感字过滤方法
程序员文章站
2022-07-12 19:10:13
...
// str 是用户输入的字符串 filterArray 是敏感字字库
export function commentFilter(str, filterArray = STATIC_WORDS.sen_words) {
if (str === '') {
return '文本不能为空';
}
if (str.length > 300) {
return '最多支持300字';
}
if (!str.search(/^([a-zA-Z]{1,})$/)) {
return '本不能是纯数字、纯字母或纯符号';
}
if (!str.search(/^\d*$/)) {
return '文本不能是纯数字、纯字母或纯符号';
}
if (
!str.search(
/^[[email protected]#$%^&*,.,。??!¥……()“”‘’''"";:;:{}【】\u0020-\u0030\d]*$/
)
) {
return '文本不能是纯数字、纯字母或纯符号';
}
if (filter(str, filterArray)) {
return '文中包含敏感内容';
}
return '';
}
// 敏感字过滤 arr 是敏感字库 str 是用户输入的字符串
export function filter(str, arr) {
const _ = str.replace(/\s/g, '');// 去除空格
return Array.isArray(arr)
? arr.some((value) => {
return _.indexOf(value) !== -1;// 查看敏感字是否在用户输入的字符串
})
: false;
}
/**
下面是敏感字字库部分截取 详情可查看我的代码片段
export default {
sen_words: [
'*',
'*',
'克强',
'反共',
.....
]
}
**/