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.生成效果

 

 

 

 

 

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# wpf 字体图标预览,html字符与unicode转换

在进行wpf 开发工作过程中遇到字体图标无法预览的问题&#xff0c;特此记录。 1、把需要预览的字体文件上传到网站上进行转换 Create Your Own font-face Kits Font Squirrel2、下载文件后进行解压。 3、找到 Glyph Chart 查看字体html字符编码4、在wpf中直接使用即可 <…

【JAVA】单例模式的线程安全性

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 我的其他博客 正文 老生常谈的问题了&#xff0c;首先要说的是单例模式的线程安全意味着&#xff1a;某个类的实例在多线程环境 下只会被…

前端框架简介及Vue3项目起步基础配置

前端框架简介及Vue3项目起步基础配置 前端框架简介Vue1.1 Vue脚手架1.1.1 使用vue-cli创建vue2项目1.1.2 使用create-vue创建vue3项目1.1.3 项目起步-配置别名路径联想提示1.1.4 项目起步-elementPlus引入1. 安装elementPlus和自动导入插件2. 配置自动按需导入3. 测试组件 1.1.…

DRV8313和L298N都是电机驱动,一个是驱动三相FOC无刷直流电机的,一个是驱动有刷电机,使stm32控制无刷电机简单入门知识

DRV8313和L298N都是电机驱动器&#xff0c;但它们之间存在一些关键的区别&#xff1a; DRV83131&#xff1a; 由德州仪器&#xff08;TI&#xff09;制造。 具有集成的场效应晶体管&#xff08;FET&#xff09;。 最大电压为65V。 峰值电流为3A。 适用于三相电机驱动。 L298N…

中科大计网学习记录笔记(三):接入网和物理媒体

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

Javaweb之SpringBootWeb案例之配置文件的详细解析

4. 配置文件 员工管理的增删改查功能我们已开发完成&#xff0c;但在我们所开发的程序中还一些小问题&#xff0c;下面我们就来分析一下当前案例中存在的问题以及如何优化解决。 4.1 参数配置化 在我们之前编写的程序中进行文件上传时&#xff0c;需要调用AliOSSUtils工具类&…

华为数通方向HCIP-DataCom H12-821题库(单选题:381-400)

第381题 以下是某台设备通过display isis lsdb命令输出的信息,那么关于以上输出的信息的描述,正确的是哪一项? <R1>display isis lsdbDatabase information for ISIS(1)--------------------------------Level-1 Link State DatabaseLSPID Seq Num…

0基础学习VR全景平台篇第140篇:摄影器材保养与维护

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 摄影器材属于精密仪器&#xff0c;在使用过程中会磨损、老化、积灰。如果不对摄影器材进行清洁和保养&#xff0c;油污、灰尘、水渍长期停留在设备上&#xff0c;不仅会大大缩短相机…

如何解决 docker registry x509 证书不信任问题?

最近想尝试一下极狐GitLab&#xff08;可以理解为 GitLab 在中国的发行版&#xff09;内置的容器镜像仓库&#xff0c;这样就不用自己安装 Harbor 之类的了。于是找了个服务器安装了一个极狐GitLab 的私有化部署版本&#xff0c;安装过程可以参考过往的技术文章使用Omnibus 安装…

中国传媒网CEO:媒体融合发展业态新媒体年后在沪召开

近日,在“坚守媒体初心,拥抱AI时代”2023外滩新媒体年会上,有多项合作达成。 在当前竞争激烈的市场环境中,媒体宣传已经成为企业品牌推广不可或缺的一环。对于很多企业来说往往会犯一个错误,就是默默地参加了展会,并没有进行媒体营销。展会是一种非常有力的宣传和推广方式,可以…

【代码随想录】LC 77. 组合

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、代码详解 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记&#xff0c;如有侵权&#xff0c;立即删除。 一、题目 1、原题链接 77. 组合 2、题目描述 二、解题报告 1、思路分析 &#x…

新旧Mac恢复出厂设置的方法不同,这里提供新旧Mac不同的重置方法

在某些使用macOS 12 Monterey或更高版本系统的Mac电脑上,你可以使用系统首选项中的内置功能“擦除助手”轻松擦除和重置计算机。以下是操作方法。 要求(以及旧款Mac的提示) 从2021年发布的macOs Monterey(macOs 12)开始,系统首选项现在有一个类似于iPhone和iPad上的“擦…

弹框中展示gojs报错

一. 实际问题 我们在弹框中展示 gojs 时&#xff0c;打开第一次没什么问题&#xff0c;但是关闭弹框在打卡时报错 二. 问题原因 一个 id 只能关联一个图例&#xff0c;我们之前已经关联了id 三. 解决办法 我使用的是 vite vue3.0 elementPlus Dialog 弹框内写法&#x…

基于二值化图像转GCode的螺旋扫描实现

基于二值化图像转GCode的螺旋扫描实现 什么是双向扫描螺旋扫描代码示例 基于二值化图像转GCode的螺旋扫描实现 什么是螺旋扫描 螺旋扫描&#xff08;Spiral Scanning&#xff09;是激光雕刻中一种特殊的扫描方式&#xff0c;其特点是激光头按照螺旋形状逐渐向外移动&#xf…

Linux useradd、gpasswd、chmod 等关于用户及权限设置

创建用户 useradd zen01 useradd zen02 useradd zen03 创建组 groupadd dev-group 把用户添加到dev-group组中 gpasswd -a zen01 dev-group gpasswd -a zen02 dev-group gpasswd -a zen03 dev-group 查看 dev-group组中用户列表 grep ‘dev-group’ /etc/group 创建文件 mkdir…

深入解析企业培训教育系统开发:源码探秘与技术实践

当下&#xff0c;为了提高员工的技能水平、促进团队的协同合作&#xff0c;企业培训教育系统成为了一个不可或缺的组成部分。本篇文章&#xff0c;小编将为大家讲述企业培训教育系统的开发&#xff0c;揭示其源码背后的奥秘以及相关的技术实践。 一、概述 企业培训教育系统通常…

计算机设计大赛 深度学习 python opencv 实现人脸年龄性别识别

文章目录 0 前言1 项目课题介绍2 关键技术2.1 卷积神经网络2.2 卷积层2.3 池化层2.4 激活函数&#xff1a;2.5 全连接层 3 使用tensorflow中keras模块实现卷积神经网络4 Keras介绍4.1 Keras深度学习模型4.2 Keras中重要的预定义对象4.3 Keras的网络层构造 5 数据集处理训练5.1 …

【机器学习】监督学习算法之:决策树

决策树 1、引言2、决策树2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 信息增益公式2.4.2 信息增益率公式 2.5 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;我被你骗了。 小鱼&#xff1a;… 别闹&#xff0c;我怎么可能骗你呢。 小屌丝&#xff1a;你上次…

从零开始学Linux之gcc链接

目录 创建静态库并使用 创建动态库(共享库)并使用 链接&#xff1a;将.o目标文件链接起来生成一个可执行程序文件&#xff0c;可分为静态链接和动态链接 静态链接&#xff1a;链接器会找出程序所需的函数&#xff0c;然后将它们拷贝到执行文件&#xff0c;由于这种拷贝是完整…

VUE PC端可拖动悬浮按钮

一、实现效果&#xff1a; 二、FloatButton.vue <template><div><div class"sssss"><div class"callback float" mousedown"down" touchstart"down" mousemove"move" touchmove"move" mous…