C#用正则表达式验证格式:电话号码、密码、邮编、手机号码、身份证、指定的小数点后位数、有效月

        正则表达式在程序设计中有着重要的位置,经常被用于处理字符串信息。

        用Regex类的IsMatch方法,使用正则表达式可以验证电话号码是否合法。

一、涉及到的知识点

        Regex类的IsMatch方法用于指示正则表达式使用pattern参数中指定的正则表达式是否在输入字符串中找到匹配项。语法格式如下:

public static bool IsMatch(string input,string patterm)参数说明
Input:字符串对象,表示要搜索匹配项的字符串。
Pattern:字符串对象,表示要匹配的正则表达式模式。
Bool:返回布尔值,如果正则表达式找到匹配项,则返回值为true,否则返回值为false。

        其中,正则表达式中匹配位置的元字符“^”。正则表达式中“^”用于匹配行首,如果正则表达式匹配以First开头的行,则正则表达式如下:^First。

        如果电话号码的格式:xxx-xxxxxxxx,其中,x—代表数字,那么匹配的正则表达式是:^(\d{3,4}-)?\d{6,8}$。

        如果密码有a-z、A-Z、0-9组成,并且至少一个大小写字母数字,那么其正则表达式:[A-Za-z]+[0-9];

        如果密码有a-z、A-Z、0-9组成,并且至少一个大小写字母数字,那么其正则表达式:[A-Za-z0-9]+,其中+有没有都可以;

        如果把正则表达式改为[A-Z]+[a-z]+[0-9],就变成依次至少一个大写、一个小写、一个数字了,打乱了顺序都不行。

        由6位数字组成的邮编的正则表达式:^\d{6}$;

        手机号码由11位数字组成,以1开头、第二位数字为3,4,5,6,7,8,9中一个、第三位到十一位数字为0到9的任意一个数字,其正则表达式:^1[3-9]\d{9}$;

        18位身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中:

  • 地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。其中前两位为省份编码。
  • 出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,格式如20240130,之间不用分隔符。
  • 顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
  • 校验码计算方式:

        (1)对前17位数字本体码加权求和公式为:S = Sum(Ai * Wi), i = 1, ... , 17。其中Ai表示第i位置上的身份证号码数值;Wi表示第i位置上的加权因子,按位置依次为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2;
        (2)以11对计算结果取模:Y = mod(S, 11);
        (3)根据模的值得到对应的校验码,对应关系为:
             Y值:0 1 2 3 4 5 6 7 8 9 10
        校验码:1 0 X 9 8 7 6 5 4 3 2

        身份证号正则表达式:

//闰年
^[1-9]\d{5}(19|20)\d{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2]\d|3[0-1])|(04|06|09|11)(0[1-9]|[1-2]\d|30)|02(0[1-9]|[1-2]\d))\d{3}[\dXx]$
//平年
^[1-9]\d{5}(19|20)\d{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2]\d|3[0-1])|(04|06|09|11)(0[1-9]|[1-2]\d|30)|02(0[1-9]|1\d|2[0-8]))\d{3}[\dXx]$

         用正则表达式可以校验指定小数点后的位数是否匹配,比如验证小数点后位数是否2位的正则表达式:^[0-9]+(.\d{2})?$,^[0-9]+.\d{2}$,^[0-9]+\.\d{2}$,^[0-9]+\.[0-9]{2}$;

        验证输入的数值是否有效的月份的正则表达式:^(0?[[1-9]1[0-2]]$,其中0?表示匹配零个或1个“0”,[1-9]表示匹配数字1~9,1[0-2]表示匹配数字10、11、12。

二、实例1:验证电话号码的格式

//使用正则表达式验证电话号码
namespace _070
{public partial class Form1 : Form{private Label? label1;private Label? label2;private Label? label3;private Button? button1;private TextBox? textBox1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(36, 22),Name = "label1",Size = new Size(68, 17),TabIndex = 0,Text = "输入号码:"};// // label2//        label2 = new Label{AutoSize = true,Location = new Point(156, 49),Name = "label2",Size = new Size(79, 17),TabIndex = 1,Text = "xxx-xxxxxxxx"};// // label3//          label3 = new Label{AutoSize = true,Location = new Point(36, 49),Name = "label3",Size = new Size(68, 17),TabIndex = 2,Text = "号码格式:"};// // button1//         button1 = new Button{Location = new Point(160, 76),Name = "button1",Size = new Size(75, 23),TabIndex = 3,Text = "号码验证",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // textBox1// textBox1 = new TextBox{Location = new Point(115, 16),Name = "textBox1",Size = new Size(120, 23),TabIndex = 4};// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(294, 111);Controls.Add(textBox1);Controls.Add(button1);Controls.Add(label3);Controls.Add(label2);Controls.Add(label1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "使用正则表达式验证电话号码";}/// <summary>/// 验证电话号码格式是否正确/// </summary>private void Button1_Click(object? sender, EventArgs e){if (!IsTelephone(textBox1!.Text)){ MessageBox.Show("电话号码格式不正确"); }else { MessageBox.Show("电话号码格式正确"); }}/// <summary>/// 验证电话号码格式是否匹配/// </summary>/// <param name="str_telephone">电话号码信息</param>/// <returns>方法返回布尔值</returns>public static bool IsTelephone(string str_telephone){return MyRegex().IsMatch(str_telephone);}[System.Text.RegularExpressions.GeneratedRegex(@"^(\d{3,4}-)?\d{6,8}$")]private static partial System.Text.RegularExpressions.Regex MyRegex();}
}

三、实例2:验证密码的格式

// 使用正则表达式验证密码格式
namespace _071
{public partial class Form1 : Form{private GroupBox? groupBox1;private Button? button1;private TextBox? textBox1;private Label? label1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // button1// button1 = new Button{Location = new Point(171, 58),Name = "button1",Size = new Size(100, 23),TabIndex = 2,Text = "验证密码格式",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // textBox1// textBox1 = new TextBox{Location = new Point(126, 24),Name = "textBox1",Size = new Size(145, 23),TabIndex = 1};// // label1//label1 = new Label{AutoSize = true,Location = new Point(35, 30),Name = "label1",Size = new Size(68, 17),TabIndex = 0,Text = "输入密码:"};// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(307, 87),TabIndex = 0,TabStop = false,Text = "密码必须由数字和大小写字母组成"};groupBox1.Controls.Add(button1);groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(331, 111);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "正则表达式验证密码格式";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){if (!IsPassword(textBox1!.Text.Trim())){ MessageBox.Show("密码格式不正确!!!"); }else{MessageBox.Show("密码格式正确!!!!!");}}/// <summary>/// 验证码码输入条件/// </summary>/// <param name="str_password">密码字符串</param>/// <returns>返回布尔值</returns>public static bool IsPassword(string str_password){return MyRegex().IsMatch(str_password);}[System.Text.RegularExpressions.GeneratedRegex(@"[A-Za-z]+[0-9]")]//至少有一个字母,至少有一个数字//[System.Text.RegularExpressions.GeneratedRegex(@"[A-Z]+[a-z]+[0-9]")]//依次至少有一个大写一个小写一个//[System.Text.RegularExpressions.GeneratedRegex(@"[A-Za-z0-9]+")]//至少一个private static partial System.Text.RegularExpressions.Regex MyRegex();}
}

四、实例3:验证邮编的格式

// 用正则表达式验证邮编合法性
namespace _072
{public partial class Form1 : Form{private GroupBox? groupBox1;private TextBox? textBox1;private Button? button1;private Label? label1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // textBox1// textBox1 = new TextBox{Location = new Point(139, 32),Name = "textBox1",Size = new Size(100, 23),TabIndex = 2};// // button1// button1 = new Button{Location = new Point(139, 61),Name = "button1",Size = new Size(100, 23),TabIndex = 1,Text = "验证邮编",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // label1// label1 = new Label{AutoSize = true,Location = new Point(55, 35),Name = "label1",Size = new Size(68, 17),TabIndex = 0,Text = "输入邮编:"};// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(280, 98),TabIndex = 0,TabStop = false,Text = "验证邮编格式:"};groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(button1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(304, 122);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "验证邮编格式合法性";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){if (!IsPostalcode(textBox1!.Text)){ MessageBox.Show("邮政编号不正确!!!"); }else {MessageBox.Show("邮政编号正确!!!!!"); }}/// <summary>/// 验证邮编格式是否正确/// </summary>/// <param name="str_postalcode">邮编字符串</param>/// <returns>返回布尔值</returns>public static bool IsPostalcode(string str_postalcode){return MyRegex().IsMatch(str_postalcode);}[System.Text.RegularExpressions.GeneratedRegex(@"^\d{6}$")]private static partial System.Text.RegularExpressions.Regex MyRegex();}
}

五、实例4:验证手机号码的格式

//用正则表达式验证手机号码合法性
namespace _073
{public partial class Form1 : Form{private GroupBox? groupBox1;private Button? button1;private TextBox? textBox1;private Label? label1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // button1// button1 = new Button{Location = new Point(129, 60),Name = "button1",Size = new Size(120, 23),TabIndex = 3,Text = "验证手机号码",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // textBox1// textBox1 = new TextBox{Location = new Point(129, 31),Name = "textBox1",Size = new Size(120, 23),TabIndex = 1};// // label1//           label1 = new Label{AutoSize = true,Location = new Point(31, 37),Name = "label1",Size = new Size(92, 17),TabIndex = 0,Text = "输入手机号码:"};// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(280, 92),TabIndex = 0,TabStop = false,Text = "验证手机号码"};groupBox1.Controls.Add(button1);groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(304, 122);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "验证手机号码合法性";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){if (!IsHandset(textBox1!.Text)){ MessageBox.Show("手机号不正确!!!"); }else{MessageBox.Show("手机号正确!!!!!"); }}/// <summary>/// 验证手机号是否正确/// </summary>/// <param name="str_handset">手机号码字符串</param>/// <returns>返回布尔值</returns>public static bool IsHandset(string str_handset){return MyRegex().IsMatch(str_handset);}[System.Text.RegularExpressions.GeneratedRegex(@"^[1]+[3-9]+\d{9}$")]private static partial System.Text.RegularExpressions.Regex MyRegex();}
}

六、实例5:验证身份证号码的格式

// 用正则表达式验证身份证号码合法性
namespace _074
{public partial class Form1 : Form{private GroupBox? groupBox1;private Button? button1;private TextBox? textBox1;private Label? label1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(16, 28),Name = "label1",Size = new Size(104, 17),TabIndex = 0,Text = "输入身份证号码:"};// // textBox1// textBox1 = new TextBox{Location = new Point(125, 22),Name = "textBox1",Size = new Size(140, 23),TabIndex = 1};// // button1// button1 = new Button{Location = new Point(190, 57),Name = "button1",Size = new Size(75, 23),TabIndex = 2,Text = "验证",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(280, 99),TabIndex = 0,TabStop = false,Text = "验证身份证号码"};groupBox1.Controls.Add(button1);groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(304, 123);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "验证身份证号码合法性";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){if (!IsIDcard(textBox1!.Text.Trim())){ MessageBox.Show("身份证号不正确!!!");}else { MessageBox.Show("身份证号正确!!!!!"); }}/// <summary>/// 验证身份证号是否正确/// </summary>/// <param name="idcard">身份证号字符串</param>/// <returns>返回布尔值</returns>public static bool IsIDcard(string idcard){if (DateTime.IsLeapYear(Convert.ToInt32(idcard.Substring(6, 4)))){return MyRegex().IsMatch(idcard);}else{return MyRegex1().IsMatch(idcard);}    }[System.Text.RegularExpressions.GeneratedRegex(@"(^[1-9]\d{5}(19|20)\d{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2]\d|3[0-1])|(04|06|09|11)(0[1-9]|[1-2]\d|30)|02(0[1-9]|[1-2]\d))\d{3}[\dXx]$)")]private static partial System.Text.RegularExpressions.Regex MyRegex();[System.Text.RegularExpressions.GeneratedRegex(@"(^[1-9]\d{5}(19|20)\d{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2]\d|3[0-1])|(04|06|09|11)(0[1-9]|[1-2]\d|30)|02(0[1-9]|1\d|2[0-8]))\d{3}[\dXx]$)")]private static partial System.Text.RegularExpressions.Regex MyRegex1();}
}

七、实例6:验证小数点后位数是否2位

// 验证小数点后是否为2位
namespace _075
{public partial class Form1 : Form{private GroupBox? groupBox1;private Button? button1;private TextBox? textBox1;private Label? label1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(25, 30),Name = "label1",Size = new Size(68, 17),TabIndex = 0,Text = "输入小数:"};// // textBox1// textBox1 = new TextBox{Location = new Point(121, 24),Name = "textBox1",Size = new Size(135, 23),TabIndex = 1};// // button1// button1 = new Button{Location = new Point(181, 59),Name = "button1",Size = new Size(75, 23),TabIndex = 2,Text = "验证",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 11),Name = "groupBox1",Size = new Size(280, 100),TabIndex = 0,TabStop = false,Text = "验证小数点后位数"};groupBox1.Controls.Add(button1);groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(304, 123);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "验证小数点后是否2位";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){if (!IsDecimal(textBox1!.Text.Trim())){ MessageBox.Show("请输入两位小数!!!", "提示"); }else{ MessageBox.Show("输入正确!!!!!", "提示"); }}/// <summary>/// 验证小数是否正确/// 等效的正则:@"^[0-9]+\.\d{2}$"/// 等效的正则:@"^[0-9]+(.\d{2})$"/// 等效的正则:@"^[0-9]+.\d{2}$"/// 等效的正则:@"^[0-9]+\.[0-9]{2}$"/// </summary>/// <param name="str_decimal">小数字符串</param>/// <returns>返回布尔值</returns>public static bool IsDecimal(string str_decimal){return MyRegex().IsMatch(str_decimal);}[System.Text.RegularExpressions.GeneratedRegex(@"^[0-9]+(.\d{2})?$")]private static partial System.Text.RegularExpressions.Regex MyRegex();}
}

八、实例7:验证输入的数值是否有效月

// 用正则表达式验证输入的数字是否有效月
namespace _076
{public partial class Form1 : Form{private GroupBox? groupBox1;private Button? button1;private TextBox? textBox1;private Label? label1;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(34, 33),Name = "label1",Size = new Size(92, 17),TabIndex = 0,Text = "输入月份数值:"};// // textBox1// textBox1 = new TextBox{Location = new Point(132, 30),Name = "textBox1",Size = new Size(100, 23),TabIndex = 1};// // button1// button1 = new Button{Location = new Point(157, 59),Name = "button1",Size = new Size(75, 23),TabIndex = 2,Text = "验证",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 11),Name = "groupBox1",Size = new Size(280, 100),TabIndex = 0,TabStop = false,Text = "验证是否有效的月"};groupBox1.Controls.Add(button1);groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(304, 123);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "验证数字是否有效月";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){if (!IsMonth(textBox1!.Text.Trim())){MessageBox.Show("输入月份不正确!!!", "提示");}else{MessageBox.Show("输入信息正确!!!!!", "提示"); }}/// <summary>/// 验证月份是否正确/// </summary>/// <param name="str_Month">月份信息字符串</param>/// <returns>返回布尔值</returns>public static bool IsMonth(string str_Month){return MyRegex().IsMatch(str_Month);}[System.Text.RegularExpressions.GeneratedRegex(@"^(0?[[1-9]|1[0-2])$")]private static partial System.Text.RegularExpressions.Regex MyRegex();}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntersectionObserver、MutationObserver应用,监听项目中指定属性数据,点击或模块显示时

当项目中&#xff0c;需要获取某个页面上、某个标签上、有指定自定义属性时&#xff0c;需要在点击该元素时进行公共逻辑处理&#xff0c;或该元素在显示的时候进行逻辑处理&#xff0c;这时可以定义一个公共的方法&#xff0c;在每个页面引用&#xff0c;并写入数据即可 &…

OSPF的优化

一&#xff1a;OSPF的优化&#xff1a;---lsa的优化 1、汇总 --- 减少骨干区域LSA更新量 2、特殊区域 --- 减少非骨干区域LSA更新量 二&#xff1a;汇总 1、区域汇总&#xff1a;OSPF的汇总被称为区域汇总 域间路由汇总---针对OSPF区域之间的路由进行汇总&#xff0c;针对…

【机器学习300问】21、什么是激活函数?常见激活函数都有哪些?

在我写的上一篇文章中介绍了感知机&#xff08;单个神经元&#xff09;的构成&#xff0c;其中就谈到了神经元会计算传送过来的信号的总和&#xff0c;只有当这个总和超过了某个界限值时&#xff0c;才会输出值。这也称为“神经元被激活”。如果想对神经网络是什么有更多了解的…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DataPanel组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之DataPanel组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、DataPanel组件 数据面板组件&#xff0c;用于将多个数据占比情况使用占比图进…

集成学习之Boosting方法系列_XGboost

文章目录 【文章系列】【前言】【算法简介】【正文】&#xff08;一&#xff09;XGBoost前身&#xff1a;梯度提升树&#xff08;二&#xff09;XGBoost的特点&#xff08;三&#xff09;XGBoost实际操作1. 前期准备&#xff08;1&#xff09;数据格式&#xff08;2&#xff09…

小程序定制开发:解析定制化移动应用的未来

引言 在当今数字化时代&#xff0c;移动应用已经成为人们生活不可或缺的一部分。随着智能手机的普及&#xff0c;移动应用的需求呈现出爆发式增长&#xff0c;企业们也纷纷投身于这场数字化浪潮。然而&#xff0c;众多企业在竞争激烈的市场中&#xff0c;如何突显个性、提高用…

使用Eclipse搞Android项目报错

相信现在都没什么人还会用Eclipse来开发的了。 不过安装完后&#xff0c;打开Eclipse会提示我的Jdk版本不符合 --------------------------- Incompatible JVM --------------------------- Version 1.8.0_391 of the JVM is not suitable for this product. Version: 17 or g…

python之poetry模块,项目管理

一、简介 Poetry 是一个用于管理 Python 项目依赖关系和构建工具的工具。它提供了一个简单的命令行界面&#xff0c;可以帮助您创建、管理和发布 Python 项目&#xff0c;使用方法&#xff1a;command [options] [arguments] 官网&#xff1a;https://python-poetry.org/docs/…

详解SpringCloud微服务技术栈:深入ElasticSearch(1)——数据聚合

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;详解SpringCloud微服务技术栈&#xff1a;ElasticSearch实战&#xff08;旅游类项目&#xff09; &#x1f4da;订阅专栏&#x…

软件设计不是CRUD(11):低耦合模块设计理论——业务抽象:规划模块分层

上一篇文章《软件设计不是CRUD(10):低耦合模块设计理论——业务抽象:从需求中提取业务维度》本专题详细讲解了业务抽象的一个重要步骤:提取业务维度。本篇文章内容主要讲解在提取业务维度后,如何对应用程序中初步划分的各个功能模块进行分层规划。 1、为什么要进行模块分…

【lesson2】定长内存池的实现

文章目录 介绍定长内存池的设计定长内存池的实现需要成员变量需要的成员函数定长内存池结构定长内存池Delete&#xff08;释放空间&#xff09;的实现定长内存池New&#xff08;申请空间&#xff09;的实现 定长内存池的实现完整版 介绍 作为程序员(C/C)我们知道申请内存使用的…

Zookeeper实现分布式队列

目录 Zookeeper分布式队列 普通方式实现 设计思路 具体实现 使用Curator实现 具体实现 注意事项 Zookeeper分布式队列 常见的消息队列有:RabbitMQ&#xff0c;RocketMQ&#xff0c;Kafka等。Zookeeper作为一个分布式的小文件管理系统&#xff0c;同样能实现简单的队列功…

【python】图形化开发pyqt6基本写法模板与基础控件属性方法整理

pyqt6的简介 首先呢Python有许多可以编写图形化界面的库&#xff0c;我们通常跟着教程的话最初会接触的tkinter&#xff0c;但是学习中会发现编写的图形化跟我们平常接触的软件有很大区别&#xff08;简单来说就是丑&#xff09;。 pyqt则是第三方库&#xff0c;在Python中算…

ETL怎么实现文件处理

在现代企业及各类组织的日常运作中&#xff0c;数据作为一种关键的信息资源&#xff0c;其管理和分析能力直接影响到决策效率与准确性。文件作为数据的主要载体&#xff0c;承载着从运营报告、客户记录、交易明细等各种类型的数据信息。这些海量且多样的文件数据在未经处理的情…

flask_django基于python的城市轨道交通公交线路查询系统vue

同时&#xff0c;随着信息社会的快速发展&#xff0c;城市轨道交通线路查询系统面临着越来越多的信息&#xff0c;因此很难获得他们对高效信息的需求&#xff0c;如何使用方便快捷的方式使查询者在广阔的海洋信息中查询&#xff0c;存储&#xff0c;管理和共享信息方面有效&…

C语言菜鸟入门·运算符(算数运算符,关系运算符,逻辑运算符,位运算符,赋值运算符,三目运算符)详细介绍

目录 ​编辑 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 6. 杂项运算符 ↦ sizeof & 三元 6.1 sizeof&#xff08;&#xff09; 6.2 &取地址运算符 6.3 * 6.4 三目运算符 7. 运算符优先级 运算符是一种告诉编译器执行…

ElementUI组件:Link 文字链接

Link 文字链接 点击下载learnelementuispringboot项目源码 效果图 el-link.vue页面效果图 项目里el-link.vue文件代码 <script> export default {name: el_link }</script> <!--https://element.eleme.cn/#/zh-CN/component/link --> <template>&l…

嵌入式学习第十四天

1.结构体&#xff08;2&#xff09;: &#xff08;1&#xff09;结构体类型定义 &#xff08;2&#xff09;结构体变量的定义 &#xff08;3&#xff09;结构体元素的访问 &#xff08;4&#xff09;结构体的存储: 内存对齐: char 按照1字节对齐 …

C# OpenCvSharp DNN Gaze Estimation 视线估计

目录 介绍 效果 模型信息 项目 代码 frmMain.cs GazeEstimation.cs 下载 C# OpenCvSharp DNN Gaze Estimation 介绍 训练源码地址&#xff1a;https://github.com/deepinsight/insightface/tree/master/reconstruction/gaze 效果 模型信息 Inputs ----------------…

医院安全(不良)事件报告系统源码,不良事件处理的全过程管理,实现11大类不良事件类型的报告上报、流转审批、跟踪改进及统计分析功能。

医院安全&#xff08;不良&#xff09;事件报告系统源码&#xff0c;不良事件上报系统源码&#xff0c;PHP源码 医院安全&#xff08;不良&#xff09;事件报告系统提供11大类不良事件的上报、事件审核处理、时间按分析、事件跟踪与持续改进&#xff0c;事件提醒、权限控制、外…