首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅用于一个字符(*)或其他字母数字的正则表达式

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

Stack Overflow用户
提问于 2016-02-26 13:43:34
回答 2查看 1.4K关注 0票数 0

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

或者,如果我们在输入中输入*,filed.it应该只接受整个字段的一个*,仅此而已。

例如:*等同于wer?23w4

正则表达式是:

代码语言:javascript
复制
/[a-zA-Z0-9?]{8}/
EN

回答 2

Stack Overflow用户

发布于 2016-02-26 13:47:27

可以使用交替运算符(|)指定“或”条件。在您的案例中:

代码语言:javascript
复制
/\*|[a-zA-Z0-9?]{8}/

这意味着匹配以下任一项:

  • 单个*字符,
  • 或,恰好由小写、大写、数字或?.

组成的八个字符

注意,根据您在代码中的使用方式,您可能需要添加锚点^$,以确保它针对整个字段进行测试:

代码语言:javascript
复制
/^(?:\*|[a-zA-Z0-9?]{8})$/

Debuggex Demo

票数 3
EN

Stack Overflow用户

发布于 2016-02-26 13:48:11

试一试

代码语言:javascript
复制
 /(\*|[a-zA-Z0-9\?]{8})/g

例如

代码语言:javascript
复制
"33asdsad".match( /(\*|[a-zA-Z0-9\?]{8})/g); 

代码语言:javascript
复制
"*".match( /(\*|[a-zA-Z0-9\?]{8})/g)

代码语言:javascript
复制
"234234?d".match( /(\*|[a-zA-Z0-9\?]{8})/g)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35644363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档