You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求符合项目名校验规则的正则表达式:禁止纯特殊字符输入

Project name(项目名称)字段校验正则方案

可用正则表达式

按照规则要求(允许任意字符组合,不可仅包含特殊字符、必须存在至少1位字母/数字),直接使用以下正则即可:
^(?=.*[A-Za-z0-9]).+$

正则逻辑说明

  • (?=.*[A-Za-z0-9]):正向先行断言,强制要求字符串任意位置至少出现1位大小写字母或数字,从根源拦截全特殊字符的输入
  • .+:匹配长度≥1的任意字符,支持字母、数字、任意特殊字符自由组合,同时自动拦截空输入

如果业务场景允许空输入,仅拦截全特殊字符的非空内容,可将正则调整为^(?=.*[A-Za-z0-9]).*$

场景校验结果

  • 纯字母输入:校验通过,例:Project、TEST
  • 纯数字输入:校验通过,例:20240601、12345
  • 字母数字组合输入:校验通过,例:Proj123、test001
  • 字母/数字搭配特殊字符组合输入:校验通过,符合示例要求,例:zjna5726$7&^#bsg、proj_test@2024
  • 仅含特殊字符输入:校验不通过,符合拦截要求,例:%&*%、@#$^
  • 空输入:校验不通过,符合常规表单字段校验要求

此前尝试方案的问题

  • /^[ A-Za-z0-9_@./#&+-]*$/:一是设置了特殊字符白名单,白名单外的特殊字符(如$、^等)会被误拦截;二是使用*做匹配,空输入会被判定为校验通过,不符合要求
  • ^([\w+\d+_]+)((-)([\w+\d+_]+))*:一是仅支持-作为合法特殊字符,其余特殊字符均无法通过;二是限制了特殊字符只能单个间隔出现,无法匹配特殊字符连续存在、特殊字符在字符串开头/结尾的合法输入

内容的提问来源于stack exchange,提问作者Alish Madhukar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 04:12:21