程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> c#制作的號碼mask程序

c#制作的號碼mask程序

編輯:關於C#

在今天,各大媒體都時興通過短信參與活動並中獎的行為,中獎號碼大多用‘*’好掩蓋其手機號碼的中間幾位如: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);//輸出結果
            }
        }

編譯運行以下,可以看到如下圖的效果:

小結:這個類庫還有很多地方值得改造,比如判斷數據的有效性等等,請大家多多給出意見和建議,幫助我更好的學習和進步。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved