C#验证字符串是否大写、小写,正则表达式vs用Char.IsUpper和Char.IsLower方法遍历字符数组

目录

一、使用的方法

1.正则表达式

 2.用Char.IsUpper或Char.IsLower方法

二、源代码

1.源码 

2.生成效果


一、使用的方法

1.正则表达式

        正则表达式“^[A-Z]+$”,其中[A-Z]+表示匹配一个到多个大写字母。

        正则表达式“^[a-z]+$”,其中[a-z]+表示匹配一个到多个小写字母。

 2.用Char.IsUpper或Char.IsLower方法

        使用Char结构的IsUpper方法也可以实现此验证功能。使用Char结构的IsUpper方法依次判断用户输入字符串中的每一个字符是否为大写,如果为大写则返回true,否则返回false。

        同样地,使用Char结构的IsLower方法也可以实现此验证功能。使用Char结构的IsLower方法依次判断用户输入字符串中的每一个字符是否为小写,如果为小写则返回true,否则返回false。

        下面分享源码:

二、源代码

1.源码 

//使用正则表达式验证是否大写字母、小写字母
//使用Char.IsUpper或Char.IsLower方法也可以实现此验证功能
namespace _083
{public partial class Form1 : Form{private GroupBox? groupBox1;private TextBox? textBox1;private Button? button1;private Label? label1;private Button? button2;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // textBox1// textBox1 = new TextBox{Location = new Point(146, 17),Name = "textBox1",Size = new Size(100, 23),TabIndex = 2};// // button1// button1 = new Button{Location = new Point(171, 44),Name = "button1",Size = new Size(75, 23),TabIndex = 1,Text = "验证1",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // label1// label1 = new Label{AutoSize = true,Location = new Point(35, 23),Name = "label1",Size = new Size(80, 17),TabIndex = 0,Text = "输入字符串:"};// // button2// button2 = new Button{Location = new Point(171, 71),Name = "button2",Size = new Size(75, 23),TabIndex = 3,Text = "验证2",UseVisualStyleBackColor = true};button2.Click += Button2_Click;// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(280, 100),TabIndex = 0,TabStop = false,Text = "验证大小写字母:"};groupBox1.Controls.Add(button2);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, 123);Controls.Add(groupBox1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "正则表达式判断输入是否大写小写字母";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}/// <summary>/// 首字符大写?小写?啥也不是?那就非法吧/// </summary>private void Button1_Click(object? sender, EventArgs e){if (textBox1!.Text != ""){if (MyRegex().IsMatch(textBox1!.Text[..1])){if (!Ischar(textBox1!.Text[..1], textBox1!.Text.Trim())){MessageBox.Show("输入的字符不全是大写", "验证1");}else{MessageBox.Show("输入的字符是纯大写", "验证1");}}else if (MyRegex1().IsMatch(textBox1!.Text[..1])){if (!Ischar(textBox1!.Text[..1], textBox1!.Text.Trim())){MessageBox.Show("输入的字符不全是小写", "验证1");}else{MessageBox.Show("输入的字符是纯小写", "验证1");}}else{MessageBox.Show("输入的字符含有非法字符", "验证1");}}else{MessageBox.Show("输入的字符不能为空", "验证1");}}/// <summary>/// 先用ToCharArray()方法把输入的字符串转成字符数组/// 用Char.IsDigit()方法判断数组首元素大写?进而遍历全部元素大写?/// 然后用Char.IsDigit()方法判断数组首元素小写?进而遍历全部元素小写?/// 首字符不是大写也不是小写,那么就非法吧;/// </summary>private void Button2_Click(object? sender, EventArgs e){if (textBox1!.Text != ""){char[] charArr = textBox1!.Text.ToCharArray();if (Char.IsUpper(charArr[0])){foreach (char c in charArr){if (!Char.IsUpper(c)){MessageBox.Show("输入的字符不全是大写", "验证2");return;}}MessageBox.Show("输入的字符是纯大写", "验证2");}else if (Char.IsLower(charArr[0])){foreach (char c in charArr){if (!Char.IsLower(c)){MessageBox.Show("输入的字符不全是小写", "验证2");return;}}MessageBox.Show("输入的字符是纯小写", "验证2");}else{MessageBox.Show("输入的字符含有非法字符", "验证2");}}else{MessageBox.Show("输入的字符不能为空", "验证2");}}/// <summary>/// 验证输入是否大小写字母/// 首字母大写?否则小写/// </summary>/// <param name="temp">用户输入的字符串</param>/// <returns>方法返回布尔值</returns>public static bool Ischar(string firstchar,string temp){if (MyRegex().IsMatch(firstchar)){return MyRegex().IsMatch(temp);}else{return MyRegex1().IsMatch(temp);}}[System.Text.RegularExpressions.GeneratedRegex(@"^[A-Z]+$")]private static partial System.Text.RegularExpressions.Regex MyRegex();[System.Text.RegularExpressions.GeneratedRegex(@"^[a-z]+$")]private static partial System.Text.RegularExpressions.Regex MyRegex1();}
}

2.生成效果

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

快速渲染效果图:设计师的高效工作流揭秘

渲染技能是每个建模设计师需求的一个重要技能&#xff0c;尽管在许多设计公司里&#xff0c;建模和渲染往往是分开由各自的专家来完成。不过&#xff0c;一个全能型的建模师还是应该精通渲染技术。对于那些接外包项目来制作渲染效果图的设计师来说&#xff0c;掌握如何提速渲染…

代驾应用系统(ssm)

登录首页 管理员界面 代驾司机界面 普通用户界面 前台页面 1、系统说明 &#xff08;1&#xff09; 框架&#xff1a;spring、springmvc、mybatis、mysql、jsp &#xff08;2&#xff09; 系统分为前台系统、后端管理系统 2、欢迎留言联系交流学习讨论&#xff1a;qq 97820625…

画出TCP三次握手和四次挥手的示意图,并且总结TCP和UDP的区别

TCP三次握手和四次挥手 TCP和UDP的区别 共同点&#xff1a;同属于传输层的协议 TCP 1> 提供面向连接的&#xff0c;可靠的数据传输服务 2> 传输过程中&#xff0c;数据无误、数据无丢失、数据无失序、数据无重复 3> 数据传输效率低&#xff0c;耗费资源多 4>…

C遗漏知识(个人向)

之前C语言遗漏的一些。 数据在内存中的存储 原码、反码、补码 整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 正整数的原、反、补码都相同。 负整数的三种表⽰⽅法各不相同。 原码&#xff1a;直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。 反码&…

搜索引擎DuckDuckGo代理指南

DuckDuckGo作為一款搜索引擎&#xff0c;同時擁有自己的流覽器&#xff0c;高度保護用戶隱私&#xff0c;使其有別於其他收集和利用用戶數據進行定向廣告的搜索引擎。然而&#xff0c;單獨使用DuckDuckGo並不能保證線上完全匿名。如果你想進一步保護隱私&#xff0c;那就需要使…

KtConnect 本地连接连接K8S工具

KT Connect简介 Kt Connect &#xff08;Kubernetes Developer Tool&#xff09;是一个阿里开源、轻量级的面向 Kubernetes 用户的开发测试环境治理辅助工具。其核心是通过建立本地到集群以及集群到本地的双向通道。 1.阿里开源&#xff0c;轻量级, 2. 安装快捷简单&#xf…

RCS系统之:界面设计

RCS Floor Manager设计的主要目的&#xff1a; 实时监控机器人状态实时查看货架状态查看机器人任务状态查看捡货站的任务状态地图的状态信息其他元素&#xff0c;如打包机&#xff0c;机械臂的状态动态的编辑地图元素信息等等 有兴趣的可以留言一起交流下

java 基础 (1)简介-程序基础-流程控制-数组操作

学习教程 java入门 JavaEE JavaSe JavaMe 简单来说&#xff0c;Java SE就是标准版&#xff0c;包含标准的JVM和标准库&#xff0c;而Java EE是企业版&#xff0c;它只是在Java SE的基础上加上了大量的API和库&#xff0c;以便方便开发Web应用、数据库、消息服务等&#xff0c;…

「递归算法」:全排列

一、题目 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入&#xf…

在C++的union中使用std::string(非POD对象)的陷阱

struct和union的对比 union最开始是C语言中的关键字&#xff0c;在嵌入式中比较常见&#xff0c;由于嵌入式内存比较稀缺&#xff0c;所以常用union用来节约空间&#xff0c;在其他需要节省内存的地方也可以用到这个关键字&#xff0c;写一个简单程序来说明union的用途 struc…

09_树莓派_树莓派外设板_GPIO_按键的中断与消抖

目录 1.树莓派外设集成板总体介绍 2.第一部分 按键矩阵 GPIO_按键与中断 3.实现效果 1.树莓派外设集成板总体介绍 1&#xff09;前言&#xff1a;这是一块为了验证树莓派【兼容树莓派多个型号】的40pins的外设接口的外接板&#xff0c;告别复杂的面包板外设搭建。【欢迎各位…

图片文件转化成二进制流 (防止出现“图像因其本身有错无法显示‘的问题)

$image E:/www/logo.png; //图片文件地址 $type getimagesize($image)[mime]; //获取图片类型 $imgData file_get_contents($image); //获取图片二进制流 //输出二进制图片 ob_clean(); //清除缓冲区&#xff0c;防止出现“图像因其本身有错无法显示的问题 header(&quo…