如何验证数据帮助类?验证数据帮助类的方法(代码示例)
本篇文章给大家带来的内容是介绍js如何实现简单的时分秒倒计时效果(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
using System; using System.Text.RegularExpressions; namespace ZMM.Core { /// <summary> /// 验证帮助类 /// </summary> public class ValidateHelper { //邮件正则表达式 private static Regex _emailregex = new Regex(@"^[a-z0-9]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$", RegexOptions.IgnoreCase); //手机号正则表达式 private static Regex _mobileregex = new Regex("^(13|15|17|18)[0-9]{9}$"); //固话号正则表达式 private static Regex _phoneregex = new Regex(@"^(\d{3,4}-?)?\d{7,8}$"); //IP正则表达式 private static Regex _ipregex = new Regex(@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"); //日期正则表达式 private static Regex _dateregex = new Regex(@"(\d{4})-(\d{1,2})-(\d{1,2})"); //数值(包括整数和小数)正则表达式 private static Regex _numericregex = new Regex(@"^[-]?[0-9]+(\.[0-9]+)?$"); //邮政编码正则表达式 private static Regex _zipcoderegex = new Regex(@"^\d{6}$"); /// <summary> /// 是否为邮箱名 /// </summary> public static bool IsEmail(string s) { if (string.IsNullOrEmpty(s)) return true; return _emailregex.IsMatch(s); } /// <summary> /// 是否为手机号 /// </summary> public static bool IsMobile(string s) { if (string.IsNullOrEmpty(s)) return true; return _mobileregex.IsMatch(s); } /// <summary> /// 是否为固话号 /// </summary> public static bool IsPhone(string s) { if (string.IsNullOrEmpty(s)) return true; return _phoneregex.IsMatch(s); } /// <summary> /// 是否为IP /// </summary> public static bool IsIP(string s) { return _ipregex.IsMatch(s); } /// <summary> /// 是否是身份证号 /// </summary> public static bool IsIdCard(string id) { if (string.IsNullOrEmpty(id)) return true; if (id.Length == 18) return CheckIDCard18(id); else if (id.Length == 15) return CheckIDCard15(id); else return false; } /// <summary> /// 是否为18位身份证号 /// </summary> private static bool CheckIDCard18(string Id) { long n = 0; if (long.TryParse(Id.Remove(17), out n) == false || n < Math.Pow(10, 16) || long.TryParse(Id.Replace('x', '0').Replace('X', '0'), out n) == false) return false;//数字验证 string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91"; if (address.IndexOf(Id.Remove(2)) == -1) return false;//省份验证 string birth = Id.Substring(6, 8).Insert(6, "-").Insert(4, "-"); DateTime time = new DateTime(); if (DateTime.TryParse(birth, out time) == false) return false;//生日验证 string[] arrVarifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(','); string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(','); char[] Ai = Id.Remove(17).ToCharArray(); int sum = 0; for (int i = 0; i < 17; i++) sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString()); int y = -1; Math.DivRem(sum, 11, out y); if (arrVarifyCode[y] != Id.Substring(17, 1).ToLower()) return false;//校验码验证 return true;//符合GB11643-1999标准 } /// <summary> /// 是否为15位身份证号 /// </summary> private static bool CheckIDCard15(string Id) { long n = 0; if (long.TryParse(Id, out n) == false || n < Math.Pow(10, 14)) return false;//数字验证 string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91"; if (address.IndexOf(Id.Remove(2)) == -1) return false;//省份验证 string birth = Id.Substring(6, 6).Insert(4, "-").Insert(2, "-"); DateTime time = new DateTime(); if (DateTime.TryParse(birth, out time) == false) return false;//生日验证 return true;//符合15位身份证标准 } /// <summary> /// 是否为日期 /// </summary> public static bool IsDate(string s) { return _dateregex.IsMatch(s); } /// <summary> /// 是否是数值(包括整数和小数) /// </summary> public static bool IsNumeric(string numericStr) { return _numericregex.IsMatch(numericStr); } /// <summary> /// 是否为邮政编码 /// </summary> public static bool IsZipCode(string s) { if (string.IsNullOrEmpty(s)) return true; return _zipcoderegex.IsMatch(s); } /// <summary> /// 是否是图片文件名 /// </summary> /// <returns> </returns> public static bool IsImgFileName(string fileName) { if (fileName.IndexOf(".") == -1) return false; string tempFileName = fileName.Trim().ToLower(); string extension = tempFileName.Substring(tempFileName.LastIndexOf(".")); return extension == ".png" || extension == ".bmp" || extension == ".jpg" || extension == ".jpeg" || extension == ".gif"; } /// <summary> /// 是否是文件名word /// </summary> /// <param name="fileName"></param> /// <returns></returns> public static bool IsFile(string fileName) { if (fileName.IndexOf(".") == -1) return false; string tempFileName = fileName.Trim().ToLower(); string extension = tempFileName.Substring(tempFileName.LastIndexOf(".")); return extension == ".doc" || extension == ".docx" || extension == ".xls" || extension == ".xlsx" || extension == ".txt"; } /// <summary> /// 判断一个ip是否在另一个ip内 /// </summary> /// <param name="sourceIP">检测ip</param> /// <param name="targetIP">匹配ip</param> /// <returns></returns> public static bool InIP(string sourceIP, string targetIP) { if (string.IsNullOrEmpty(sourceIP) || string.IsNullOrEmpty(targetIP)) return false; string[] sourceIPBlockList = StringHelper.SplitString(sourceIP, @"."); string[] targetIPBlockList = StringHelper.SplitString(targetIP, @"."); int sourceIPBlockListLength = sourceIPBlockList.Length; for (int i = 0; i < sourceIPBlockListLength; i++) { if (targetIPBlockList[i] == "*") return true; if (sourceIPBlockList[i] != targetIPBlockList[i]) { return false; } else { if (i == 3) return true; } } return false; } /// <summary> /// 判断一个ip是否在另一个ip内 /// </summary> /// <param name="sourceIP">检测ip</param> /// <param name="targetIPList">匹配ip列表</param> /// <returns></returns> public static bool InIPList(string sourceIP, string[] targetIPList) { if (targetIPList != null && targetIPList.Length > 0) { foreach (string targetIP in targetIPList) { if (InIP(sourceIP, targetIP)) return true; } } return false; } /// <summary> /// 判断一个ip是否在另一个ip内 /// </summary> /// <param name="sourceIP">检测ip</param> /// <param name="targetIPStr">匹配ip</param> /// <returns></returns> public static bool InIPList(string sourceIP, string targetIPStr) { string[] targetIPList = StringHelper.SplitString(targetIPStr, "\n"); return InIPList(sourceIP, targetIPList); } /// <summary> /// 判断当前时间是否在指定的时间段内 /// </summary> /// <param name="periodList">指定时间段</param> /// <param name="liePeriod">所处时间段</param> /// <returns></returns> public static bool BetweenPeriod(string[] periodList, out string liePeriod) { if (periodList != null && periodList.Length > 0) { DateTime startTime; DateTime endTime; DateTime nowTime = DateTime.Now; DateTime nowDate = nowTime.Date; foreach (string period in periodList) { int index = period.IndexOf("-"); startTime = TypeHelper.StringToDateTime(period.Substring(0, index)); endTime = TypeHelper.StringToDateTime(period.Substring(index + 1)); if (startTime < endTime) { if (nowTime > startTime && nowTime < endTime) { liePeriod = period; return true; } } else { if ((nowTime > startTime && nowTime < nowDate.AddDays(1)) || (nowTime < endTime)) { liePeriod = period; return true; } } } } liePeriod = string.Empty; return false; } /// <summary> /// 判断当前时间是否在指定的时间段内 /// </summary> /// <param name="periodStr">指定时间段</param> /// <param name="liePeriod">所处时间段</param> /// <returns></returns> public static bool BetweenPeriod(string periodStr, out string liePeriod) { string[] periodList = StringHelper.SplitString(periodStr, "\n"); return BetweenPeriod(periodList, out liePeriod); } /// <summary> /// 判断当前时间是否在指定的时间段内 /// </summary> /// <param name="periodList">指定时间段</param> /// <returns></returns> public static bool BetweenPeriod(string periodList) { string liePeriod = string.Empty; return BetweenPeriod(periodList, out liePeriod); } /// <summary> /// 是否是数值(包括整数和小数) /// </summary> public static bool IsNumericArray(string[] numericStrList) { if (numericStrList != null && numericStrList.Length > 0) { foreach (string numberStr in numericStrList) { if (!IsNumeric(numberStr)) return false; } return true; } return false; } /// <summary> /// 是否是数值(包括整数和小数) /// </summary> public static bool IsNumericRule(string numericRuleStr, string splitChar) { return IsNumericArray(StringHelper.SplitString(numericRuleStr, splitChar)); } /// <summary> /// 是否是数值(包括整数和小数) /// </summary> public static bool IsNumericRule(string numericRuleStr) { return IsNumericRule(numericRuleStr, ","); } } }
Atas ialah kandungan terperinci 如何验证数据帮助类?验证数据帮助类的方法(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Perkembangan teknologi kecerdasan buatan (AI) sedang giat dijalankan hari ini, dan ia telah menunjukkan potensi dan pengaruh yang besar dalam pelbagai bidang. Hari ini Dayao akan berkongsi dengan anda 4 rangka kerja projek berkaitan LLM model AI sumber terbuka .NET, dengan harapan dapat memberi anda sedikit rujukan. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ialah kit pembangunan perisian sumber terbuka (SDK) yang direka untuk menyepadukan model bahasa besar (LLM) seperti OpenAI, Azure

Sama ada anda seorang pemula atau profesional yang berpengalaman, menguasai C# akan membuka jalan untuk kerjaya anda.

Jika anda seorang pembangun .NET, anda mesti sedar tentang kepentingan mengoptimumkan fungsi dan prestasi dalam menyampaikan perisian berkualiti tinggi. Dengan menggunakan pakar sumber yang disediakan dan mengurangkan masa memuatkan tapak web, anda bukan sahaja mencipta pengalaman yang menyenangkan untuk pengguna anda tetapi juga mengurangkan kos infrastruktur.

Dari segi pemprosesan permintaan selaras tinggi, .NETASP.NETCoreWebAPI berprestasi lebih baik daripada JavaSpringMVC Sebabnya termasuk: Kompilasi awal AOT, yang mengurangkan masa permulaan pengurusan memori, di mana pembangun bertanggungjawab untuk memperuntukkan dan melepaskan memori objek.

C# adalah bahasa pengaturcaraan yang berorientasikan objek moden yang dibangunkan oleh Microsoft dan sebagai sebahagian daripada Rangka Kerja .NET. 1.C# menyokong pengaturcaraan berorientasikan objek (OOP), termasuk enkapsulasi, warisan dan polimorfisme. 2. Pengaturcaraan Asynchronous dalam C# dilaksanakan melalui Async dan menunggu kata kunci untuk meningkatkan respons aplikasi. 3. Gunakan LINQ untuk memproses koleksi data dengan ringkas. 4. Kesilapan umum termasuk pengecualian rujukan null dan pengecualian indeks luar. Kemahiran penyahpepijatan termasuk menggunakan debugger dan pengendalian pengecualian. 5. Pengoptimuman Prestasi termasuk menggunakan StringBuilder dan mengelakkan pembungkusan yang tidak perlu dan unboxing.

C#.NET Soalan dan jawapan wawancara termasuk pengetahuan asas, konsep teras, dan penggunaan lanjutan. 1) Pengetahuan asas: C# adalah bahasa berorientasikan objek yang dibangunkan oleh Microsoft dan digunakan terutamanya dalam rangka .NET. 2) Konsep teras: Delegasi dan peristiwa membolehkan kaedah mengikat dinamik, dan LINQ menyediakan fungsi pertanyaan yang kuat. 3) Penggunaan Lanjutan: Pengaturcaraan Asynchronous meningkatkan respons, dan pokok ekspresi digunakan untuk pembinaan kod dinamik.

C#.NET masih penting kerana ia menyediakan alat dan perpustakaan yang kuat yang menyokong pelbagai pembangunan aplikasi. 1) C# menggabungkan rangka kerja NET untuk menjadikan pembangunan cekap dan mudah. 2) Mekanisme keselamatan dan sampah jenis C#meningkatkan kelebihannya. 3) .NET menyediakan persekitaran berjalan lintas platform dan API yang kaya, meningkatkan fleksibiliti pembangunan.

C#.netisversatileforbothwebanddesktopdevelopment.1) Forweb, useasp.netfordynamicapplications.2) Fordesktop, ExployWindowsFormsor Wpfforrichinterfaces.3) UseXamarinforcross-platformdevelopment, enablingcodesharingacrosswindows, macOS, linux, andmobiledevices.
