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

正则表达式类中存在无效字符报错求助

正则语法错误修复方案

你的正则报错是因为字符类[]中的-位置错误:在字符类里,-如果放在两个字符中间,会被当作「范围运算符」(比如a-z表示a到z的字母),而不是普通的连字符,这就导致了语法非法。另外你的正则里重复写了*,可以简化。

修正后的两种写法:

方案1:调整-的位置(推荐)

把-移到字符类的开头或结尾,这样它会被识别为普通字符:

<input pattern='[-*$&%^#@!()_+A-Za-z0-9]+'>

或者移到结尾:

<input pattern='[*$&%^#@!()_+A-Za-z0-9-]+'>

方案2:转义-

在字符类里用\转义-,注意HTML属性里需要把\写成\\(因为HTML会解析单个反斜杠):

<input pattern='[*$&%^#@!()\-_+A-Za-z0-9]+'>

两种方案都能解决「invalid character in class」的报错,同时保留你原本想要允许的所有字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:19:59