Javascript 仅用于一个字符(*)或其他字母数字的正则表达式

Javascript 仅用于一个字符(*)或其他字母数字的正则表达式,javascript,regex,Javascript,Regex,我在正则表达式中有一个条件,限制为8个字符,它应该接受数字、字母和?,如果我们在字段中输入*,它应该给出错误 或者,如果我们在输入字段中键入*,它应该只接受整个字段的一个*,而不是其他字段 例如:*相当于wer?23w4 正则表达式是: /[a-zA-Z0-9?]{8}/ 您可以使用交替运算符(|)指定或条件。就你而言: /\*|[a-zA-Z0-9?]{8}/ 这意味着要匹配以下任一项: 只有一个*字符,没有其他字符 或者,正好是由小写、大写、数字或?组成的八个字符 注意,根据您在代码

我在正则表达式中有一个条件,限制为8个字符,它应该接受数字、字母和
,如果我们在字段中输入
*
,它应该给出错误

或者,如果我们在输入字段中键入
*
,它应该只接受整个字段的一个
*
,而不是其他字段

例如:
*
相当于
wer?23w4

正则表达式是:

/[a-zA-Z0-9?]{8}/

您可以使用交替运算符(
|
)指定或条件。就你而言:

/\*|[a-zA-Z0-9?]{8}/
这意味着要匹配以下任一项:

  • 只有一个
    *
    字符,没有其他字符
  • 或者,正好是由小写、大写、数字或
    组成的八个字符
注意,根据您在代码中的使用方式,您可能需要添加锚定
^
$
,以确保它针对整个字段进行测试:

/^(?:\*|[a-zA-Z0-9?]{8})$/


您可以使用交替运算符(
|
)指定或条件。就你而言:

/\*|[a-zA-Z0-9?]{8}/
这意味着要匹配以下任一项:

  • 只有一个
    *
    字符,没有其他字符
  • 或者,正好是由小写、大写、数字或
    组成的八个字符
注意,根据您在代码中的使用方式,您可能需要添加锚定
^
$
,以确保它针对整个字段进行测试:

/^(?:\*|[a-zA-Z0-9?]{8})$/

试试看

 /(\*|[a-zA-Z0-9\?]{8})/g
比如说

"33asdsad".match( /(\*|[a-zA-Z0-9\?]{8})/g); 

试一试

比如说

"33asdsad".match( /(\*|[a-zA-Z0-9\?]{8})/g); 

缺少锚定点:
^\*|([a-zA-Z0-9?]{8})$
缺少锚定点:
^\*|([a-zA-Z0-9?]{8})$