模式属性值不是有效的正则表达式错误

问题描述 投票:0回答:1

我收到错误

Pattern attribute value [a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])? is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/v: Invalid character in character class

对于`FormControl

<Form.Control name="email" onChange={updateInput} type="email" pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?" placeholder="Email" aria-label="aria-email" isInvalid = {formValidState.email === '' ? false : !formValidState.email } isValid={formValidState.email === '' ? false : formValidState.email } required />

这个问题已经在几个地方得到了回答,但我仍然无法弄清楚上述正则表达式有什么问题。我不正确转义或不转义哪些字符?还是别的什么?

html regex react-bootstrap
1个回答
0
投票

两个斜杠需要转义,可以使用反斜杠。

[a-z0-9!#$%&'+/=?^_

{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_
{|}~-]+)@(?:a-z0-9?.)+a-z0-9 ?

© www.soinside.com 2019 - 2024. All rights reserved.