c#制作的号码mask程序

在今天,各大媒体都时兴通过短信参与活动并中奖的行为,中奖号码大多用‘*’好掩盖其手机号码的中间几位如:138*****345,今天,我们做的就是用一个类库来实现这个通用功能,以便在网站和程序中引用。

正文:下面,我们就开始吧,首先,用vs2005建立一个c#类库,我们命名为NumMask,把他的Class1改名为容易记忆的其他名字,我改称Masker,然后我们添加如下代码:

NumMask

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace NumMask
{
    public class Masker
    {
        ArrayList numbers = new ArrayList();//定义一个ArrayList变量,用于收集从主程序传递来的号码
        ArrayList newnum = new ArrayList();//这是一个返回处理结果的Arraylist
        public ArrayList NumberChange(ArrayList number)
        {
            foreach (string num in number)
            {
                numbers.Add(num);//把接收到的号码放入numbers中
            }
            foreach (string n in numbers)//进行处理
            {
                char[] temp = n.ToCharArray();
                for (int i = 3; i <= 7; i++)//把号码的3到7位用*号代替,这里应该有更好的方法,我的比较笨,希望大家可以给我建议
                {
                    temp[i] = '*';
                }
                string s = new string(temp);
                newnum.Add(s);//把Mask后的号码放入结果数组等待返回
            }
            return newnum;
        }
    }
}

然后生成它,得到NumMask.dll文件

再建立一个winform项目,添加刚才的NumMask.dll为引用。winform界面如下:

我们没有使用数据库作为号码来源,而是使用了简单的定义好的号码,在实际中可以把数据库中的号码字段读取到一个ArrayList中,然后调用NumMask来处理。

ListBox1用于显示处理结果,我们看看“开始转换”按钮的代码:记得在开头添加using NumMask;

button1

private void button1_Click(object sender, EventArgs e)
        {
            ArrayList al = new ArrayList();//定义al为原始的号码数组
            ArrayList ab = new ArrayList();//定义ab为处理后的结果
            al.Add("13888567890");//向原始号码中添加号码
            al.Add("15878990987");
            NumMask.Masker mk = new Masker();//实例化一个Masker
            ab=mk.NumberChange(al);//向其中传入原始数据al,用ab接收结果
            foreach (string nums in ab)
            {
                listBox1.Items.Add(nums);//输出结果
            }
        }

编译运行以下,可以看到如下图的效果:

小结:这个类库还有很多地方值得改造,比如判断数据的有效性等等,请大家多多给出意见和建议,帮助我更好的学习和进步。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, arraylist
, numbers
, using
, system
一个
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2025-01-27 00:19:13

c#制作的号码mask程序的相关文章

javascript+xml制作的随机抽奖程序源代码

javascript|xml|程序|随机|源代码|抽奖 javascript+xml制作的随机抽奖程序源代码 以下index.html源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o

Photoshop教程:制作Mac风格的程序导航

本教程主要使用Photoshop制作Mac风格的程序导航图标,为了让图标看起来更有一点冲击力,我选择了比较大的透视角度,所以为了保证透视准确使用了3Ds Max先建了个简单的模型.后期在PS中制作,下面让我们一起来学习. MenuEverywhere 是Mac OS X上的一款小程序,前一阵刚为其完成了程序图标设计. 创作目标 Binary Bakery Software出品的这个小程序主要是用来给每个窗口都增加一个Menubar,方便在显示器或者窗口很多,不容易找到osx原始菜单栏的时候能方便

在link环境下,制作一个网盘程序,用户已经选择了文件,如何判断是否已经存在

问题描述 在link环境下,制作一个网盘程序,用户已经选择了文件,如何判断是否已经存在 在link环境下,制作一个网盘程序,用户已经选择了文件,如何判断是否已经存在,用的是codefirst 解决方案 File.Existhttp://msdn.microsoft.com/zh-tw/library/system.io.file.exists.aspx

由于工作需要,我使用C#制作了一个控制台程序,定期处理数据库中的一些信息。

问题描述 由于工作需要,我使用C#制作了一个控制台程序,定期处理数据库中的一些信息.以前一切正常,即便是出现错误也会有错误提示.但是最近出现了奇怪的问题,偶尔会莫名其妙的终止程序,没有任何的提示.请高手指导一下,为什么会出现这样的问题,如果有错误,如何能够显示出来? 解决方案 解决方案二:这种东西没有日志,你都猜不着别人怎么猜解决方案三:你把运行的一些操作写到LOG文件吧,以便观察出了什么错误解决方案四:多加一些trycatch,这样程序出错就不会退出而会弹出错误消息.另外要在程序中记录日志,程

Dreamweaver制作在线调查统计程序

dreamweaver|程序|统计|在线 网站中常有一个栏目提供关于网站中某个项目的调查,并显示统计资料.本实例将介绍公司网站如何实现在线产品意见调查,并显示统计资料及统计柱形图. 效果说明 用户通过投票评价公司产品,有"很好"."好"."一般"."差" 4 种意见,投票提交后,只能在下次访问时才能显示自身的投票结果.统计图表及统计结果是目前的投票结果分析,如图 90-1 所示. 创作构思 通过单选按钮及按钮事件实现在线调查,

如何使用InstallShield8.0制作自己的安装程序

摘要 本篇文档会告诉你如何使用InstallShield开发平台来创建,编译,运行一个安装程序.在这篇文档中你会学习到安装过程中碰到的下面一些内容:加载安装文件,设置快捷方式,修改注册表,条件安装一些文件,注册com组件,更换安装界面,调试以及发布安装程序. 本篇文档主要分下面的6个部分内容: 创建,编译,测试安装的工程 设置快捷方式以及修改注册表 注册COM组件 Conditions and Properties 使用脚本修改安装程序 修改安装界面 下面我们来一步一步地跟我来学习如何制作安装程

用Wix手工编辑XML制作C++ MSI安装程序,怎样保证安装新版本时候强制卸载旧版本,急急急!!!

问题描述 ★★我的问题如下,为了能说清楚,我写了比较长,希望能耐心看看★★本程序是一个网络监控客户端程序,安装好后会在系统中注册一个服务,为了和服务器端通信.我只是负责制作MSI安装程序,有人专门做开发,当然我对于VC++一无所知.按照常规我在wix的wxs中进行相应编辑设置,生成第一版MSI程序setup1.msi,安装在系统中,菜单显示版本号:1.4.0.3之后因为程序做了修改,所以我把版本号和ProductCode进行修改,再次生成第二版MSI安装程序setup2.msi这次根据客户要求,

asp制作的天气预报小偷程序

程序|天气预报|小偷程序|天气预报|小偷程序 使用说明: 提交城市名参数即可: weather.asp?city=北京 以下是weather.asp源代码:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% on error resume next dim fcity fcity=trim(request("city")) if fcity="" then fcity = s

用C#制作作屏幕捕获程序

程序 我们已经了解了Visual Basic或者Delphi等语言是如何来实现对屏幕图象捕获的.那么对于C#来说,是如何实现这种功能的?本文就来探讨一下这个问题. 一. 程序设计开发及运行环境: (1).微软视窗2000服务器版 (2)..Net FrameWork SDK Beta 2 二. 程序设计的关键步骤以及具体的实现方法: (1).首先要创建一个和当前屏幕大小相同的Bitmap对象: 要实现此操作,首先就要现获得当前显示器的DC,然后根据此DC来创建Graphic对象,再由此Graph