我在正则表达式中有一个条件,限制是 8 个字符,它应该接受数字、字母和 ?
,如果我们在字段中输入 *
,它应该给出错误。
或者如果我们在输入字段中输入 *
。整个字段应该只接受一个 *
,除此之外没有其他。
例如:*
相当于wer?23w4
正则表达式是:
/[a-zA-Z0-9?]{8}/
最佳答案
您可以使用交替运算符 (|
) 来指定非此即彼条件。对于您的情况:
/\*|[a-zA-Z0-9?]{8}/
这意味着匹配:
- 单个
*
字符,没有其他 - 或者,正好由小写字母、大写字母、数字或
组成的八个字符?
。
注意,根据您在代码中使用它的方式,您可能需要添加 anchor ^
和 $
,以确保它针对整个字段进行测试:
/^(?:\*|[a-zA-Z0-9?]{8})$/
关于javascript - 仅一个字符 (*) 或其他字母数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35644363/