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.mzph.cn/news/670941.shtml

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

相关文章

谈一谈深度学习与机器学习

深度学习是机器学习的一个子领域&#xff0c;其核心是使用多层神经网络来学习数据的复杂表示。机器学习是一种更广泛的概念&#xff0c;涵盖了许多不同的方法和技术&#xff0c;包括深度学习在内。 关系&#xff1a; 深度学习是机器学习的一种方法&#xff1a;深度学习利用多…

EasyExcel下载带下拉框和批注模板

EasyExcel下载带下拉框和批注模板 一、 代码实现 controller下载入口 /***下载excel模板* author youlu* date 2023/8/14 17:31* param response* param request* return void*/PostMapping("/downloadTemplate")public void downloadExcel(HttpServletResponse r…

Mysql-数据库优化-客户端连接参数

客户端参数 原文地址 # 连接池配置 # 初始化连接数 spring.datasource.druid.initial-size1 # 最小空闲连接数&#xff0c;一般设置和initial-size一致 spring.datasource.druid.min-idle1 # 最大活动连接数&#xff0c;一个数据库能够支撑最大的连接数是多少呢&#xff1f; …

Vue中的请求拦截器

目录 1 前言 2 使用方法 2.1 创建拦截器 2.2 引入拦截器 1 前言 我们常常会使用JWT令牌来验证登录&#xff0c;因此很多请求都需要携带JWT令牌&#xff0c;我们当然可以用{headers:{Authorization:xx}}的方式&#xff0c;向每个请求中都以这样的方式添加JWT令牌。不过这样…

同样的代码,开发环境生效,测试环境不生效,记一次问题排查过程和原因分析

我的公众号:IT周瑜 今天有同事遇到这样一个问题,有一个新增接口在本地和开发环境的swagger上都能看到,但是在测试环境的swagger上却看不到,并且确定测试环境是最新的代码,并重新构建和部署了。 按照同事的描述,首先我得确定是不是swagger的问题,我先检查我们平台组是否…

javaEE - 23( 21000 字 Servlet 入门 -1 )

一&#xff1a;Servlet 1.1 Servlet 是什么 Servlet 是一种实现动态页面的技术. 是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app. 构建动态页面的技术有很多, 每种语言都有一些相关的库/框架来做这件事&#xff0c;Servlet 就是 Tomcat 这个 HTTP…

[第五天】C++继承:单继承、多继承、菱形继承和虚继承的深度解析

一、单继承 1、概述 C最重要的特征是代码重用&#xff0c;通过继承机制可以利用已有的数据类型来定义新的数据类型&#xff0c;新的类不仅拥有旧类的成员&#xff0c;还拥有新定义的成员。 例如一个B类继承于A类&#xff0c;或称从类A派生类B。这样的话&#xff0c;类A成为基类…

2月06日,每日信息差

第一、建业地产有40个项目入围“白名单”&#xff0c;项目分布在郑州、信阳、焦作、洛阳等城市。接近建业地产人士表示&#xff0c;因各城市项目申报、审批工作进度不同&#xff0c;各城市项目的“白名单”申报工作还在持续进行&#xff0c;相关审批通过后&#xff0c;公司入围…

零基础学Python之面向对象

1.面向对象编程简介 &#xff08;1&#xff09;什么是面向对象 面向对象程序设计(Object Oriented Programming)作为一种新方法&#xff0c;其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事…

StarRocks 1 月社区动态(2024)

StarRocks 在 2023 年不断进化&#xff0c;锤炼核心功能&#xff0c;打磨全新特性&#xff0c;成功实现了从全场景 OLAP 到云原生湖仓的全面升级&#xff0c;成为湖仓新范式的造浪者。2024 年&#xff0c;我们期待与您一同续写新篇章&#xff0c;共同迈向“极速统一”的新征程&…

使用#if 和 #endif 实现注释,及原因

注释我们代码中经常使用&#xff0c; 单行注释和多行注释我们都会经常用到。 但是有些场景下这两种注释并不是很方便&#xff0c;这样我们就可以使用上面的两个宏来对代码进行注释。 什么情况下使用那两种注释不方便? 1. 如果代码很多时&#xff0c;我们如果一行一行…

【Qt】常见问题

1.存在未解析的标识符 将build文件夹删掉重新编译。 2.左侧项目目录栏无法删除已添加项目 打开目标项目上一级的pro文件&#xff0c;将目标文件名字注释或者删除掉&#xff0c;最后保存&#xff0c;qt就会自动更新&#xff0c;将该项目隐藏掉。 3.在qt creator下添加槽函数…

c++运算符优先级

这里写目录标题 C运算符优先级定义了表达式中运算符的计算顺序。当一个表达式中有多个运算符时&#xff0c;运算符的优先级决定了哪些运算符先被计算。下面是C中一些常见运算符的优先级列表&#xff0c;从高到低排序&#xff1a; 阿里云参考链接&#xff1a;developer.aliyun.c…

模拟串口LV2,解决硬件串口资源不足问题!!!!

模拟串口通信 2.0 版本&#xff01;&#xff01; 我在前面的文章里面有写了 虚拟串口通信&#xff0c;虽然说能用&#xff0c;但是用过的小伙伴都说 “好!” 优缺点: 先说一点&#xff0c;2.0版本并不适用于同硬件串口的所有场合&#xff0c;仅仅针对自己开发的电子垃圾的主…

[office] 网优必备的10大经典函数公式! #知识分享#媒体

网优必备的10大经典函数公式! Excel软件看似简单&#xff0c;其实花样很多&#xff0c;尤其Excel表格。但其实只要用心多练&#xff0c;效率轻松提升个十倍百倍真不是问题!赶紧一起来get新技能吧~ ▋函数公式一 我们都知道从网管中查询出来的经纬度是没有小数点的。我看到不…

护眼灯色温多少合适?推荐五款合适色温的护眼台灯

很多人在购买台灯之后只会根据周围环境灯光的明暗调节亮度&#xff0c;对于色温的了解并不多&#xff0c;不知道色温应该调节到什么数值比较合适&#xff0c;有些人也根本没有意识到色温在影响人情绪方面起着重要作用&#xff0c;接下来就一起来看一下色温的标准。 一、什么色…

Day4.

单链表 #include <head.h>typedef struct List{int value;struct List *pointe; }*list; list create_space() {list s(struct List *)malloc(sizeof(struct List)); //向堆区申请空间s->pointe NULL;//初始化s->value 0;return s; } list inserhead_list(lis…

AI改编游戏大电影《使命召唤:幽灵重生》(下)

AI改编游戏大电影《使命召唤&#xff1a;幽灵重生》&#xff08;下&#xff09; 幽灵重生携生化武器毁灭人类&#xff0c;普莱斯上尉点上雪茄拿起武器&#xff0c;英雄再次迎来使命的召唤&#xff01; 《使命召唤&#xff1a;幽灵重生》&#xff08;下&#xff09;&#xff1a…

电力负荷预测 | 基于TCN的电力负荷预测(Python)———结果比对

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 电力负荷预测 | 基于TCN的电力负荷预测(Python)———结果比对 python3.8 keras2.6.0 matplotlib3.5.2 numpy1.19.4 pandas1.4.3 tensorflow==2.6.0

【宝藏系列】嵌入式入门概念大全

【宝藏系列】嵌入式入门概念大全 0️⃣1️⃣操作系统&#xff08;Operating System&#xff0c;OS&#xff09; 是管理计算机硬件与软件资源的系统软件&#xff0c;同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输…