Spring Boot及Angular场景下指定格式字符串校验正则表达式咨询
正则校验解决方案
最终可用正则表达式
根据你给出的校验规则,可直接使用如下通用正则:^[a-zA-Z][a-zA-Z0-9 ]{1,79}$
如果需要严格限制空格仅出现在字符串内部、不允许末尾带空格,可使用优化版正则:^[a-zA-Z](?:[a-zA-Z0-9 ]{0,78}[a-zA-Z0-9])?$
若你使用的开发语言支持正则忽略大小写修饰符,可添加i修饰符简化写法,以JavaScript为例:/^[a-z][a-z0-9 ]{1,79}$/i
匹配逻辑说明
^[a-zA-Z]:限定字符串必须以大小写英文字母开头,排除首字符为数字、空格、特殊字符的场景[a-zA-Z0-9 ]:限定所有可使用的字符仅包含大小写字母、数字、空格三类,自动拦截#$%@^&+=£µ?=.*!等所有不在范围内的特殊字符- 长度控制逻辑:首字符占1位,通用版后续允许179个合法字符,总长度刚好控制在280位的要求区间
- 优化版额外增加了末尾字符必须为字母或数字的限制,避免尾部出现多余空格
校验效果测试
可通过校验的合法示例
- Amanda1 test9
- Amanda 5
- Amanda
- A1
- Test 1234
会被拦截的非法示例
- 1test:首字符为数字
- @test:首字符为特殊字符
- A:长度仅1位,不满足最小长度要求
- 长度超过80位的全合法字符组合:超出最大长度限制
- test&demo:包含非法特殊字符
& - Amanda :末尾带空格(仅优化版正则会拦截该场景)
内容的提问来源于stack exchange,提问作者Ab Di
相关产品推荐
相关产品推荐

