C# 数据验证Regex

Regular Expression,简称 Regex,是一种用于匹配和处理文本的强大工具。它通过定义特定的模式,可以用来搜索、替换或提取字符串中的特定内容。

先引入命名空间

using System.Text.RegularExpressions;

Intege(整数)

必须是正整数

        //必须是正整数public static bool IsPositiveInteger(string txt){Regex objReg = new Regex(@"^[1-9]\d*$");return objReg.IsMatch(txt);}

正整数和零

public static bool IsPositiveIntegerAndZero(string txt){Regex objReg = new Regex(@"^[1-9]\d*|0$");return objReg.IsMatch(txt);}

负整数

public static bool IsNegativeInteger(string txt){Regex objReg = new Regex(@"^-[1-9]\d*$");return objReg.IsMatch(txt);}

正负均可

public static bool IsInteger(string txt){Regex objReg = new Regex(@"^-?[1-9]\d*$");return objReg.IsMatch(txt);}

Decimal(小数)

正数

public static bool IsPositiveDecimal(string txt){Regex objReg = new Regex(@"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$");return objReg.IsMatch(txt);}

负数

public static bool IsNegativeDecimal(string txt){Regex objReg = new Regex(@"^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$");return objReg.IsMatch(txt);}

正负均可

public static bool IsDecimal(string txt){Regex objReg = new Regex(@"^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$");return objReg.IsMatch(txt);}

其他验证

邮箱

public static bool IsEmail(string txt){Regex objReg = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");return objReg.IsMatch(txt);}

身份证

public static bool IsIdentityCard(string txt){Regex objReg = new Regex(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");return objReg.IsMatch(txt);}

邮箱编码

   public static bool IsPostalCode(string txt){if (txt.Length != 6) return false;Regex objReg = new Regex(@"[1-9]\d{5}(?!\d)");return objReg.IsMatch(txt);}

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

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

相关文章

npm运行Vue项目报错 error:0308010c:digital envelope routines::unsupported

大家好,我是 程序员码递夫。 问题 VSCode 运行Vue项目,提示错误: building 2/2 modules 0 activeError: error:0308010c:digital envelope routines::unsupported 解决方法 原因是 npm 高版本(大于17),对ssl的处理做了改进&…

DeepSeek-R1技术革命:用强化学习重塑大语言模型的推理能力

引言:低成本高性能的AI新范式 在2025年1月,中国AI公司DeepSeek发布了两个标志性模型——DeepSeek-R1-Zero与DeepSeek-R1,以仅600万美元的训练成本实现了与OpenAI O1系列(开发成本约5亿美元)相当的推理性能&#xff0c…

【知识科普】CPU,GPN,NPU知识普及

CPU,GPU,NPU CPU、GPU、NPU 详解1. CPU(中央处理器)2. GPU(图形处理器)3. NPU(神经网络处理器) **三者的核心区别****协同工作示例****总结** CPU、GPU、NPU 详解 1. CPU(中央处理器&#xff0…

安川伺服控制器MP系列优势特点及行业应用

在工业自动化领域,运动控制器的性能直接决定了设备的精度、效率和可靠性。作为全球领先的运动控制品牌,安川电机伺服控制器凭借其卓越的技术优势和广泛的应用场景,正在为智能制造注入强劲动力! MP3100:主板型运动控制…

深入探索现代CSS:从基础到未来趋势

引言:CSS的进化之路 CSS(层叠样式表)自1996年诞生以来,已从简单的样式描述语言发展为构建现代Web体验的核心技术。截至2023年,超过98%的网站使用CSS3技术,其发展历程见证了Web从静态文档到富交互应用的蜕变…

Python----PyQt开发(PyQt高级:图像显示,定时器,进度条)

一、图像显示 1.1、增加图标 1.直接创建setWindowIcon(QIcon(灯泡.jpg)) import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton from PyQt5.QtGui import QIconclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init_…

工业路由器物联网应用,智慧环保环境数据监测

在智慧环保环境数据监测中工业路由器能连接各类分散的传感器,实现多源环境数据集中采集,并通过多种通信网络稳定传输至数据中心或云平台。 工作人员借助工业路由器可远程监控设备状态与环境数据,还能远程配置传感器参数。远程控制设置数据阈…

【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…

JAVA并发编程3--多线程程序

​ 1.创建线程的方法: 案例:计算1-1000的整数和 实现Runnable接口 步骤: 1.创建一个实现了Runnable接口的类 2.实现类去实现Runnable中的抽象方法:run() 3.创建实现类的对象 4.将此对象作为参数传递到Thread类的构造器中&#…

django中间件,中间件给下面传值

1、新建middleware.py文件 # myapp/middleware.py import time from django.http import HttpRequest import json from django.http import JsonResponse import urllib.parse class RequestTimeMiddleware:def __init__(self, get_response):self.get_response get_respons…

Vision Transformer:打破CNN垄断,全局注意力机制重塑计算机视觉范式

目录 引言 一、ViT模型的起源和历史 二、什么是ViT? 图像处理流程 图像切分 展平与线性映射 位置编码 Transformer编码器 分类头(Classification Head) 自注意力机制 注意力图 三、Coovally AI模型训练与应用平台 四、ViT与图像…

深入浅出:探索 DeepSeek 的强大功能与应用

深入浅出:探索 DeepSeek 的强大功能与应用 在人工智能技术飞速发展的今天,自然语言处理(NLP)作为其重要分支,正逐渐渗透到我们生活的方方面面。DeepSeek 作为一款功能强大的 NLP 工具,凭借其易用性和高效性…

为AI聊天工具添加一个知识系统 之97 详细设计之38 Token 之3 前端开发

本文要点 要点 本项目(为使用各种聊天工具的聊天者 加挂一个知识系统)前端 的用户界面上 主要 有 知识图谱、认知地图和语义网络,和 聊天工具的chat嵌入 同时还必须有知识树 成熟的果实(对外的网页 ) 以及 组建和参与利益相关组…

轮子项目--消息队列的实现(3)

上一篇文章中我把一些关键的类以及表示出来,如何对这些类对应的对象进行管理呢?管理分为硬盘和内存上,硬盘又分为数据库(管理交换机,队列和绑定)和文件(管理消息),本文就…

Svelte前端框架

Svelte 简介 Svelte 是一个现代的前端框架,用于构建高效、响应式的用户界面。与 React、Vue 和 Angular 等传统框架不同,Svelte 在构建时将组件编译为高效的纯 JavaScript 代码,而不是在浏览器中运行一个庞大的运行时库。这使得 Svelte 应用具…

【转载】开源鸿蒙OpenHarmony社区运营报告(2025年1月)

●截至2025年1月31日,开放原子开源鸿蒙(OpenAtom OpenHarmony,简称“开源鸿蒙”或“OpenHarmony”)社区累计超过8200名贡献者,共63家成员单位,产生51.2万多个PR、2.9万多个Star、10.5万多个Fork、68个SIG。…

@SneakyThrows:是Java异常处理的“魔法外挂“,还是隐藏的“定时炸弹“?

引言:当Java的异常机制成为"甜蜜的负担" Java的检查型异常(Checked Exception)设计本意是提升代码健壮性,但开发者常常陷入两难: 要么用try-catch层层包裹代码导致"金字塔噩梦",要么在…

双周报Vol.65:新增is表达式、字符串构造和数组模式匹配增强、IDE模式匹配补全增强...多项技术更新!

MoonBit更新 新增 is 表达式 这个表达式的语法形式为 expr is pat,这个表达式为 Bool 类型,当 expr 符合 pat 这个模式的时候返回 true,比如: fn use_is_expr(x: Int?) -> Unit {if x is Some(i) && i > 10 { .…

Git 与持续集成 / 持续部署(CI/CD)的集成

一、引言 在当今快速发展的软件开发领域,高效的代码管理和持续的交付流程是项目成功的关键因素。Git 作为一款分布式版本控制系统,已经成为了开发者们管理代码的标配工具;而持续集成 / 持续部署(CI/CD)则是一种能够加…

百问网imx6ullpro调试记录(linux+qt)

调试记录 文章目录 调试记录进展1.开发板相关1.1百问网乌班图密码 1.2 换设备开发环境搭建串口调试网络互通nfs文件系统挂载 1.3网络问题1.4系统启动1.5进程操作 2.QT2.1tslib1.获取源码2.安装依赖文件3.编译 2.2qt移植1.获取qt源码2.配置编译器3.编译 2.3拷贝到开发板1.拷贝2.…