『原創』c#製作的號碼mask程式

來源:互聯網
上載者:User

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

 

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

 

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.