js代码实现,用正则表达式判断字符串内容是否包含身份证号、手机号、卡号、账号等敏感信息
时间: 2024-10-26 14:03:48 浏览: 9
JavaScript中使用正则表达式检测敏感信息是一种常见的验证方式。下面是一个简单的例子,展示如何分别检查身份证号、手机号、银行卡号和账号:
```javascript
function isSensitiveInfo(text) {
// 身份证号码
const idCardRegex = /^(\d{6})(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])\d{3}[\dxX]$/
// 手机号码 (中国大陆)
const phoneNumberRegex = /^1[34578]\d{9}$/i
// 银行卡号 (仅示例,真实卡号应更复杂,这里简化了)
const bankAccountRegex = /^(?:\d{4}-)?\d{7,8}[0-9xX]$/i
// 账号 (一般指邮箱或网站账号,这里做简单匹配)
const accountRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return (
idCardRegex.test(text) ||
phoneNumberRegex.test(text) ||
bankAccountRegex.test(text) ||
accountRegex.test(text)
);
}
// 使用示例
const checkContent = "您的身份证号是123456789012345678,电话13812345678,银行卡号622202******8888,邮箱test@example.com";
console.log(isSensitiveInfo(checkContent)); // 输出:true
阅读全文