当前位置: 首页 > wzjs >正文

一路商机网白帽seo

一路商机网,白帽seo,大连城市建设集团网站,未备案网站MAC地址的定义 物理地址(通常称为 MAC地址,Media Access Control Address)是网络设备在数据链路层(如以太网、Wi-Fi)的唯一标识符。它由设备的网络接口卡(NIC)固化在硬件中,用于在局…

MAC地址的定义

物理地址(通常称为 MAC地址,Media Access Control Address)是网络设备在数据链路层(如以太网、Wi-Fi)的唯一标识符。它由设备的网络接口卡(NIC)固化在硬件中,用于在局域网(LAN)中精确寻址设备。MAC地址长度为 48位(6字节),通常以十六进制表示,每组2个字符,共6组,每组可以用冒号或者中划线分隔,即格式为 XX:XX:XX:XX:XX:XXXX-XX-XX-XX-XX-XX,例如 00:1A:2B:3C:4D:5E, 也可以不用分隔符,如001A2B3C4D5E

在MAC地址中,前24位(即前三个八位组或前六个十六进制数字)称为组织唯一标识符(Organizationally Unique Identifier, OUI)。这部分由IEEE(电气和电子工程师协会)分配给各个硬件制造商,用于唯一标识网络设备的生产厂商。这意味着,通过查看MAC地址的前24位,可以识别出制造该设备的厂商。

剩下的24位(即后三个八位组或后六个十六进制数字)则由厂商自行分配,用来标识具体的设备,确保每个设备在全球范围内都是唯一的。

MAC地址的正则表达式

根据定义,可以给出正则表达式:

# MAC地址正则表达式(支持冒号、中划线分隔或无分隔符)
^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}|([0-9a-fA-F]{2}-){5}[0-9a-fA-F]{2}|[0-9a-fA-F]{12}$

转换为java代码:

String MAC_ADDRESS = "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}|([0-9a-fA-F]{2}-){5}[0-9a-fA-F]{2}|[0-9a-fA-F]{12}$";

对应完整java代码

package com.ysx.utils.pattern;import java.util.regex.Pattern;/*** @author youngbear* @email youngbear@aliyun.com* @date 2025-03-30 23:24* @blog <a href="https://blog.csdn.net/next_second">...</a>* @github <a href="https://github.com/YoungBear">...</a>* @description Mac 地址*/
public class MacAddressValidator {// 支持冒号、中划线分隔或无分隔符private static final String MAC_ADDRESS = "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}|([0-9a-fA-F]{2}-){5}[0-9a-fA-F]{2}|[0-9a-fA-F]{12}$";// 预编译提高性能private static final Pattern MAC_ADDRESS_PATTERN = Pattern.compile(MAC_ADDRESS);/*** 是否是有效的Mac地址** @param input 字符串* @return 是否是有效的Mac地址*/public static boolean isValidMacAddress(String input) {if (input == null) {return false;}return MAC_ADDRESS_PATTERN.matcher(input).matches();}
}

单元测试

package com.ysx.utils.pattern;import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;import java.util.stream.Stream;import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;/*** @author youngbear* @email youngbear@aliyun.com* @date 2025-03-30 23:25* @blog <a href="https://blog.csdn.net/next_second">...</a>* @github <a href="https://github.com/YoungBear">...</a>* @description test for {@link MacAddressValidator}*/
public class MacAddressValidatorTest {private static Stream<String> validMacAddressProvider() {return Stream.of("00:1A:2B:3C:4D:5E", // 冒号分隔"00-1A-2B-3C-4D-5E", // 中划线分隔"001A2B3C4D5E", // 无分隔符"00:1a:2B:3c:4D:5e"); // 大小写混合}private static Stream<String> invalidMacAddressProvider() {return Stream.of(null, // null"", // empty"00:1G:2B:3C:4D:5E", // 无效字符(例如'G')"00:1A-2B:3C-4D:5E", // 分隔符不一致(冒号和连字符混合)"00:1A:2B:3C:4D",    // 长度不足"00:1A:2B:3C:4D:5E:FF", // 多余字符"00 1A 2B 3C 4D 5E");  // 无效分隔符(例如空格)}@ParameterizedTest(name = "#{index} - Run test with MacAddress = {0}")@MethodSource("validMacAddressProvider")void test_mac_address_regex_valid(String input) {assertTrue(MacAddressValidator.isValidMacAddress(input));}@ParameterizedTest(name = "#{index} - Run test with MacAddress = {0}")@MethodSource("invalidMacAddressProvider")void test_mac_address_regex_invalid(String input) {assertFalse(MacAddressValidator.isValidMacAddress(input));}
}

源代码地址

http://www.dtcms.com/wzjs/26345.html

相关文章:

  • 国外域名注册商哪个好想找搜索引擎优化
  • 餐饮公司网站建设的特点媒体平台
  • 一个网址建多个网站竞价网络推广培训
  • 如何做网站路径分析百度推广一年大概多少钱
  • canvas 特效网站线上广告接单平台
  • 上海企业网站怎么建设seo优化排名怎么做
  • 女女男做 网站seo案例分享
  • 网站用什么技术做链接生成器在线制作
  • 政府文化旅游节网站建设方案专业网站建设公司
  • 电商网站哪家做的好优秀的网络搜索引擎营销案例
  • 宁波做360网站推广山西免费网站关键词优化排名
  • 医院做网站开发流量主广告点击自助平台
  • 有关做服装的网站吗江苏关键词推广seo
  • 我想建网站找谁360收录提交入口网址
  • 设计某网站的登录和注册程序优化设计六年级下册数学答案
  • 网站备案核实seo资讯网
  • 做视频聊天网站seo排名优化培训怎样
  • wordpress怎么打开标签页江苏网站seo设计
  • 怎么做网站描述数据分析培训
  • 宽屏企业网站源码网站外链推广平台
  • 做国际网站阿里巴巴百度客服电话24小时
  • 网站正在建设中色无夜推广宣传方式有哪些
  • 上海定制网站建设公司哪家好百度快照优化排名推广怎么做
  • 经营性网站服务器在国外深圳网
  • 三水建设局网站seo西安
  • 海口网站建设优化软件培训机构哪家好
  • 德州哪家网站优化好百度起诉seo公司
  • 长沙做痔疮东大医院L网站百度怎么推广自己的产品
  • 网站开发用php好吗推广关键词如何优化
  • 官网网站设计浙江网络推广公司