UNPKG

regex-mcp

Version:

正则表达式生成器MCP服务,支持纳税人识别号、企业名称、法人姓名、法人身份证、法人电话等要素。

64 lines (63 loc) 1.97 kB
"use strict"; 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();