test-string-validation.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. import { stringUtils } from './src/util/stringClass.js';
  3. // 测试用例
  4. const testCases = [
  5. { input: '你好123', expected: true, desc: '汉字和数字' },
  6. { input: '测试(123)', expected: true, desc: '汉字、数字和半角括号' },
  7. { input: '测试(456)', expected: true, desc: '汉字、数字和全角括号' },
  8. { input: '测试(123)(456)', expected: true, desc: '混合使用全角和半角括号' },
  9. { input: '', expected: true, desc: '空字符串' },
  10. { input: '测试abc', expected: true, desc: '包含小写英文字母' },
  11. { input: '测试ABC', expected: true, desc: '包含大写英文字母' },
  12. { input: '测试aBC123', expected: true, desc: '混合大小写字母和数字' },
  13. { input: 'Hello世界123', expected: true, desc: '混合英文、汉字和数字' },
  14. { input: '测试123!', expected: false, desc: '包含特殊字符' },
  15. { input: '测试[123]', expected: false, desc: '包含方括号' },
  16. { input: '测试{123}', expected: false, desc: '包含花括号' },
  17. { input: 'Test@123', expected: false, desc: '包含@符号' }
  18. ];
  19. // 运行测试
  20. console.log('开始测试 IsValidChineseNumberParentheses 函数...');
  21. console.log('----------------------------------------');
  22. let passCount = 0;
  23. for (const test of testCases) {
  24. const result = stringUtils.IsValidChineseNumberParentheses(test.input);
  25. const passed = result === test.expected;
  26. console.log(`测试: ${test.desc}`);
  27. console.log(`输入: "${test.input}"`);
  28. console.log(`期望: ${test.expected}, 实际: ${result}, 结果: ${passed ? '通过' : '失败'}`);
  29. console.log('----------------------------------------');
  30. if (passed) passCount++;
  31. }
  32. console.log(`测试完成: ${passCount}/${testCases.length} 通过`);