You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UUIDv4是否可能仅包含字母或仅包含数字及对应短横线?

匹配全字母或全数字的UUID格式字符串

要检测符合UUID分段结构(8-4-4-4-12)的全字母或全数字字符串,可以使用带有分支条件的正则表达式,直接匹配两种场景:

正则表达式

仅支持小写字母的版本

^(?:[a-f]{8}-[a-f]{4}-[a-f]{4}-[a-f]{4}-[a-f]{12}|[0-9]{8}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{12})$

支持大小写字母的版本

如果需要兼容大写字母,可将正则中的[a-f]替换为[a-fA-F]:

^(?:[a-fA-F]{8}-[a-fA-F]{4}-[a-fA-F]{4}-[a-fA-F]{4}-[a-fA-F]{12}|[0-9]{8}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{12})$

正则说明

  • ^ 和 $:锚定字符串首尾,确保匹配整个目标字符串,避免部分匹配的情况
  • [a-f]{8}-[a-f]{4}-[a-f]{4}-[a-f]{4}-[a-f]{12}:匹配全小写字母的UUID格式字符串,严格遵循8-4-4-4-12的分段长度
  • [0-9]{8}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{12}:匹配全数字的UUID格式字符串,同样符合分段长度要求
  • |:逻辑或操作,匹配两种场景中的任意一种
  • (?:...):非捕获分组,用于包裹分支条件,优化正则性能,避免不必要的分组捕获

代码示例(JavaScript)

// 全字母测试用例
const onlyLtrs = "gheccasf-dffg-hjkl-apoi-auytarfewbfq";
// 全数字测试用例
const onlyNums = "67890987-6543-2123-4567-890987654321";

// 使用正则进行检测
const uuidRegex = /^(?:[a-f]{8}-[a-f]{4}-[a-f]{4}-[a-f]{4}-[a-f]{12}|[0-9]{8}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{12})$/;

console.log(uuidRegex.test(onlyLtrs)); // 输出:true
console.log(uuidRegex.test(onlyNums)); // 输出:true

内容的提问来源于stack exchange,提问作者Juan Andrés Macri Ibañez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:20:19