javascript - 使用纯正则表达式验证 mDNS 地址
问题描述
我需要验证给定的字符串是否是有效的 mDNS 地址。此处列出了这些示例:
a2aadd61-85d9-4be6-a36c-267ad65917d3.local
ccd58700-cdd5-4c1f-8098-5bc306f1ce77.local
bb4115cd-1f39-42b0-9433-e59533c9c771.local
3b382824-24bf-457a-a7d6-b6e25e4d79bf.local
9284cbaa-2933-45e3-9ae2-c0cccae54b68.local
619281fb-6426-44fa-8d0f-9e58ce415e3e.local
541d8a99-b1a5-46f4-96f1-e31f30b3cb99.local
2feb782f-ea40-4a37-b843-5b5b4fe1860e.local
这可能吗?我是正则表达式的新手,似乎找不到这个特定字符串的任何正则表达式示例。这是我尝试进行正则表达式测试:
let valid = 'a2aadd61-85d9-4be6-a36c-267ad65917d3.local';
let invalid = 'not-valid-233q4q22eqwr-q3rhHE02n333r4tsefs.local';
let regex = \([a-zA-Z1-9]+){8}-([a-zA-Z1-9]){4}-([a-zA-Z1-9]){4}-([a-zA-Z1-9]){12}\.local\;
regex.test(valid)
编辑:我在regex101.com上试过,但没有用。有什么帮助吗?谢谢!
解决方案:
我使用它来工作:
let valid = 'a2aadd61-85d9-4be6-a36c-267ad65917d3.local';
let invalid = 'not-valid-233q4q22eqwr-q3rhHE02n333r4tsefs.local';
let regex = /(^[a-zA-Z1-90]{8})-([a-zA-Z1-90]{4})-([a-zA-Z1-90]{4})-([a-zA-Z1-90]{4})-([a-zA-Z1-90]{12})\.local/;
console.log(regex.test(valid)) //=> true
console.log(regex.test(invalid)) //=> false
谢谢!
解决方案
推荐阅读
- google-apps-script - 带来细胞的位置而不是它的价值
- haskell - 让函数根据参数的值返回不同的类型
- validation - 带有文件的 Blazor Webassembly (.NET 5) 自定义组件:验证不起作用
- python - Python:替换多个 for 循环、多个迭代器
- c++ - clang-tidy linting 忽略第三方标头
- python - 正确使用 python 代码作为模块
- facebook - 在没有合法公司的情况下在 facebook 管理界面中获取权限
- xamarin - xamarin 表单中的 DatePicker 格式
- aws-lambda - 状态机:如何为 java lambda 函数添加代码?
- scheme - 过滤列表的方案函数