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.pswp.cn/news/895292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895292.shtml
英文地址,請注明出處:http://en.pswp.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.…