如何在TypeScript中实现特定格式字符串的模式校验
TypeScript字符串校验实现
要满足你提出的三个校验规则,可以通过正则表达式结合简单函数实现,以下是具体方案:
实现思路
- 用正则表达式精准匹配
xxxx-xxx的结构,同时约束每个x只能是大写字母(A-Z)或数字(0-9) - 正则表达式会自动限制字符串长度为8(4个字符+1个连字符+3个字符),满足最大长度8的要求
代码实现
function validateString(str: string): boolean { // 正则规则:匹配4个大写字母/数字 + 连字符 + 3个大写字母/数字,且字符串首尾完全匹配 const pattern = /^[A-Z0-9]{4}-[A-Z0-9]{3}$/; return pattern.test(str); } // 示例测试 const str = "ABC1-AB9"; console.log(validateString(str)); // 输出: true // 不符合规则的测试案例 console.log(validateString("abc1-ab9")); // 含小写字母,输出: false console.log(validateString("ABC12-AB9")); // 长度超过8,输出: false console.log(validateString("ABC1_AB9")); // 连字符错误,输出: false console.log(validateString("ABC1-AB")); // 长度不足,输出: false
正则表达式解析
^:匹配字符串的起始位置[A-Z0-9]{4}:匹配恰好4个大写字母或数字-:匹配中间的英文半角连字符[A-Z0-9]{3}:匹配恰好3个大写字母或数字$:匹配字符串的结束位置
内容的提问来源于stack exchange,提问作者Nithin
相关产品推荐
相关产品推荐

