如何编写支持数字、字母及可选单个点号的正则表达式
正则修改方案
方案1:点号不允许出现在开头/结尾(绝大多数场景适用)
修改后的代码如下:
const pattern = /^[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)?$/;
规则说明:
- 匹配纯字母数字的字符串,也支持包含1个点号、且点号前后都有至少1个字母数字的字符串
- 自动过滤点号在开头(如
.abc123)、点号在结尾(如abc123.)、包含多个点号(如a.b.c)的非法格式
方案2:允许点号出现在开头或结尾
如果你的业务场景允许点号在首尾位置,可以使用以下版本:
const pattern = /^[a-zA-Z0-9]*\.?[a-zA-Z0-9]*$/;
规则说明:
- 整个字符串最多包含1个点号,点号前后可以没有字符
- 支持匹配
.abc123、abc123.、abc.123、纯字母数字等格式
内容的提问来源于stack exchange,提问作者arber haxhimusa
相关产品推荐
相关产品推荐

