C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)

首先,IsWhat是一个通用工具类,包含多个方法用于判断不同类型的数据。下面将介绍其中的一些方法及其使用示例。

IsNumber

判断一个字符串是否为数字。

public static bool IsNumber(string str)
{
    return Regex.IsMatch(str, @"^[+-]?\d*[.]?\d*$");
}

示例:

string str1 = "12345";
string str2 = "-123.45";
string str3 = "12a.3";
Console.WriteLine(IsWhat.IsNumber(str1));   // 输出 true
Console.WriteLine(IsWhat.IsNumber(str2));   // 输出 true
Console.WriteLine(IsWhat.IsNumber(str3));   // 输出 false

IsIDCard

判断一个字符串是否为身份证号码。

public static bool IsIDCard(string str)
{
    if (str.Length != 18)
        return false;

    long n = 0;
    if (!long.TryParse(str.Remove(17), out n) || n < Math.Pow(10, 16) || !long.TryParse(str.Replace('x', '0').Replace('X', '0'), out n))
        return false;

    return true;
}

示例:

string id1 = "110101199003074839";
string id2 = "11010119900307483X";
string id3 = "11010119900307483";
Console.WriteLine(IsWhat.IsIDCard(id1));    // 输出 true
Console.WriteLine(IsWhat.IsIDCard(id2));    // 输出 true
Console.WriteLine(IsWhat.IsIDCard(id3));    // 输出 false

还有其他方法如IsEmail、IsNullOrEmpty、IsBoolean等等,可前往源码库查看。

使用示例

在项目中,导入IsWhat类,使用其中的方法进行数据判断。

using MyProject;

...

if (IsWhat.IsNumber(str))
{
    // 处理数字类型数据
}
else if (IsWhat.IsIDCard(str))
{
    // 处理身份证号码类型数据
}
else
{
    // 其他数据类型处理
}

通过使用IsWhat中的方法,可以快速判断不同类型的数据,使代码实现更加简洁高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等) - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 基于SpringBoot项目遇到的坑–Date入参问题

    让我来详细讲解一下 “基于SpringBoot项目遇到的坑–Date入参问题” 的完整攻略。 背景 在进行 SpringBoot 开发过程中,我们经常会遇到 Date 入参的问题。比如从前端传递 Date 类型参数或者从数据库中查询出 Date 类型数据时,我们需要使用 Date 进行传递和处理。但是在具体的实现过程中,可能会遇到一些问题,比如格式不正确,…

    Java 2023年6月1日
    00
  • OkHttp Address already in use: no further information异常

      说下场景,我的程序在多线程场景下一个循环体中处理业务数据,其中需要调用一个外部http接口去获取一些数据,程序总会在在本地执行一段时间后会抛出Address already in use: no further information错误。   这是大量并发场景下出现的问题,经过查阅原因是OkHttp的链接没有被有效回收和复用导致的端口资源占用,okHt…

    Java 2023年4月18日
    00
  • SpringMVC参数的传递之如何接收List数组类型的数据

    当用户在前端页面通过表单提交数据时,SpringMVC框架负责将数据传递给后端控制器,以便进行相关的业务处理。这些数据通常是参数,可以是基本数据类型、实体类、List数组等。本文将重点介绍如何在SpringMVC控制器中接收List数组类型的数据。 接收List数组类型参数的配置 SpringMVC的数据绑定机制非常灵活,可以通过使用@RequestPara…

    Java 2023年5月26日
    00
  • Java垃圾回收器的作用是什么?

    下面是详细讲解Java垃圾回收器的作用的完整使用攻略: 1. 垃圾回收器的作用 Java垃圾回收器的主要作用就是自动管理Java程序运行时的内存空间,在程序运行过程中及时释放不再使用的内存空间,提高程序的运行效率和稳定性。 当Java程序在运行时需要占用一定内存空间,当内存空间不够时,Java虚拟机就会启动垃圾回收器,自动回收无用的内存,以便腾出更多的空间给…

    Java 2023年5月11日
    00
  • SpringBoot 配置文件中配置的中文,程序读取出来是乱码的解决

    当我们在 SpringBoot 配置文件中配置中文时,有时程序运行后会读取出来乱码的情况。这是因为编码不一致或者文件格式问题导致的。下面给出两种解决方法。 解决方法一:设置文件编码 在配置文件中,可以添加如下配置来设置文件编码: spring: messages: encoding: UTF-8 这样,当程序读取配置文件时,会按照 UTF-8 编码格式进行解…

    Java 2023年5月19日
    00
  • Android RxJava异步数据处理库使用详解

    Android RxJava异步数据处理库使用详解 简介 RxJava是一个异步数据处理库,它建立在观察者模式和可观察流的基础之上。这个库的主要目的是简化异步操作的处理,提高代码的可读性和可维护性。它专注于数据流的处理,而不是UI层的处理。 RxJava可以帮助开发者避免使用回调函数和线程的管理,简化代码逻辑。RxJava可以用于处理网络请求,数据库查询,事…

    Java 2023年5月26日
    00
  • Java实现几种常见排序算法代码

    Java实现几种常见排序算法代码 在本文中,我们将介绍 6 种常见的排序算法的 Java 代码实现,这些排序算法分别是: 冒泡排序 选择排序 插入排序 快速排序 归并排序 堆排序 为了方便说明,我们将在每个排序算法的代码实现中使用一个简单的示例数组 arr,用于展示排序前与排序后的结果。示例代码如下: int[] arr = {5, 2, 8, 3, 9, …

    Java 2023年5月19日
    00
  • java编程实现杨辉三角两种输出结果实例代码

    下面是“java编程实现杨辉三角两种输出结果实例代码”的完整攻略。 什么是杨辉三角? 杨辉三角是二项式系数在三角形中的一种几何排列,中文名称又称“杨辉三角形”,它形状如下图所示: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 … … … 如何用java编程实现杨辉三角? 第一种实现方式 下面是用java编…

    Java 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部