regex-mcp
Version:
正则表达式生成器MCP服务,支持纳税人识别号、企业名称、法人姓名、法人身份证、法人电话等要素。
64 lines (63 loc) • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const regex_service_1 = require("../core/regex.service");
// 测试用例数据
const testCases = [
{
key: '纳税人识别号',
valid: ['123456789012345', 'A1B2C3D4E5F6G7H8I9J0'],
invalid: ['123', 'abc', '123456789012345678901']
},
{
key: '企业名称',
valid: ['北京小米科技有限公司', 'Mi Company (China)'],
invalid: ['@非法名称', '']
},
{
key: '法人姓名',
valid: ['张三', '李四·Smith'],
invalid: ['A', '张']
},
{
key: '法人身份证',
valid: ['110101199003071234', '11010119900307123X', '123456789012345'],
invalid: ['12345678901234', 'abcdefghijklmno']
},
{
key: '法人电话',
valid: ['13812345678', '19987654321'],
invalid: ['1234567890', '021-12345678']
}
];
function testRegex() {
const patterns = (0, regex_service_1.getAllRegexPatterns)();
let allPass = true;
for (const test of testCases) {
const item = patterns.find(p => p.key === test.key);
if (!item) {
console.error(`未找到关键要素:${test.key}`);
allPass = false;
continue;
}
const regex = new RegExp(item.pattern);
for (const v of test.valid) {
if (!regex.test(v)) {
console.error(`【失败】${test.key} 应匹配: ${v}`);
allPass = false;
}
}
for (const iv of test.invalid) {
if (regex.test(iv)) {
console.error(`【失败】${test.key} 不应匹配: ${iv}`);
allPass = false;
}
}
}
if (allPass) {
console.log('所有正则表达式测试通过!');
}
else {
console.error('部分正则表达式测试未通过,请检查上方错误信息。');
}
}
testRegex();