07
2015
05

C# 定时执行任务测试实例

需要使用定时程序来进行一些操作,可以使用Timer:

private void button1_Click(object sender, EventArgs e)
{
    System.Timers.Timer aTimer = new System.Timers.Timer();
    aTimer.Elapsed += new ElapsedEventHandler(TimeEvent);
    // 设置引发时间的时间间隔 此处设置为1秒(1000毫秒)
    aTimer.Interval = 1000;
    aTimer.Enabled = true;
    richTextBox1.AppendText("按回车键结束程序\n");
    richTextBox1.AppendText("等待程序的执行......\n");
}
//当时间发生的时候需要进行的逻辑处理等
//在这里仅仅是一种方式,可以实现这样的方式很多.
private void TimeEvent(object source, ElapsedEventArgs e)
{
    //得到 hour minute second 如果等于某个值就开始执行某个程序。
    int intHour = e.SignalTime.Hour;
    int intMinute = e.SignalTime.Minute;
    int intSecond = e.SignalTime.Second;
    //设置  每秒钟的开始执行一次
    if (intSecond % 5 == 0)
    {
        richTextBox1.AppendText("每5秒钟的开始执行一次:" + e.SignalTime.ToString("yyyy-MM-dd HH:mm:ss") + "!\n");
    }
}

效果图:

05
2015
05

Asp.Net 微信菜单自定义开发功能实现源代码

1、配置文件中,配置好微信自定义菜单开发需要的AppID和AppSecret:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="AppID" value="appid的值"/>
    <add key="AppSecret" value="appsecret的值"/>
  </appSettings>
    <connectionStrings />
    <system.web>
        <compilation debug="true">
        </compilation>
        <!--
            通过 <authentication> 节可以配置
            安全身份验证模式,ASP.NET 
            使用该模式来识别来访用户身份。 
        -->
        <authentication mode="Windows" />
        <!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节
            可以配置相应的处理步骤。具体而言,
            开发人员通过该节可配置要显示的 html 错误页,
            以代替错误堆栈跟踪。
        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    </system.web>
</configuration>

2、添加自定义菜单源代码:

24
2015
04

Asp.Net 用微信二维码登录自己的网站

一、当用户选择用微信二维码登录时,我们要在用户页面里生成一个guid做为客户端的唯一标识,然后带着这个guid请求二维码图片地址,得到地址后,显示给用户。请求到后台的时候要将此二维码的Key和客户端的guid关联到一起。注意这个key的生成方式,要保证多人同时用二维码登录而不冲突,比如用10000自增,隔断时间又重置到10000。

20
2015
04

C#、Asp.Net 农历与阴历之间相互转化工具类

在做一些数据统计或者时间方面的开发时,通常会遇到需要对时间的农历与阴历之间相互进行转化,需要查询当前日期是否为春节或其他节日,判断是否为春节期间“jrDate == "除夕" || jrDate == "春节" || jrSDate.Day < 7 && jrMonth == "正月"”,可以使用此工具类。

DateTime nDate = Convert.ToDateTime(date); //当前需要转换的日期

string jrDate = ChinaDate.GetChinaHoliday(nDate); //获取农历节日

string jrMonth = ChinaDate.GetMonth(nDate); //获取农历月份

string jrDay = ChinaDate.GetDay(nDate); //获取农历日期

DateTime jrSDate = ChinaDate.GetSunYearDate(nDate); //阳历转阳历

DateTime jrLDate = ChinaDate.GetLunarYearDate(jrSDate.AddYears(-1)); //阴历转阳历

16
2015
04

C#、Asp.Net 发送邮件工具类

/// <summary>
/// SendMail 的摘要说明
/// </summary>
public class SendMail
{
    public SendMail()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <returns></returns>
    public static bool SendEmail(string EmailPath, string EmailName, string EmailTitle, string EmailContent)
    {
        SmtpClient client = new SmtpClient();
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailPwd"]);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["EmailPort"]);                //端口号
        client.Host = ConfigurationManager.AppSettings["EmailHost"];     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(EmailPath, EmailName, EmailTitle, EmailContent));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 发送邮件(自定义发送配置)
    /// </summary>
    /// <param name="reEmailPath">收件人邮箱地址</param>
    /// <param name="reEmailName">收件人名称</param>
    /// <param name="sendEmailTitle">发件标题</param>
    /// <param name="sendEmailContent">发件内容</param>
    /// <param name="sendEmailUser">发件人账户</param>
    /// <param name="sendEmailPwd">发件人密码</param>
    /// <param name="sendEmailName">发件人名称</param>
    /// <param name="sendEmailPort">端口</param>
    /// <param name="sendEmailHost">发送SMTP地址</param>
    /// <returns></returns>
    public static bool SendEmail(string reEmailPath, string reEmailName, string sendEmailTitle, string sendEmailContent, string sendEmailUser, string sendEmailPwd, string sendEmailName, string sendEmailPort, string sendEmailHost)
    {
        SmtpClient client = new SmtpClient();
        //设置为发送认证消息
        client.UseDefaultCredentials = true;
        //string Email = EmailUser.Split('@')[0];
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(sendEmailUser, sendEmailPwd);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(sendEmailPort);                //端口号
        client.Host = sendEmailHost;     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(reEmailPath, reEmailName, sendEmailTitle, sendEmailContent, sendEmailUser, sendEmailName));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 初始化信件相关信息
    /// </summary>
    /// <param name="reEmailPath">发件人</param>
    /// <param name="reEmailName">发件人姓名</param>
    /// <param name="sendEmailTitle">发送标题</param>
    /// <param name="sendEmailContent">发送内容</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string reEmailPath, string reEmailName, string sendEmailTitle, string sendEmailContent)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailName"]);  //发件人
        if (reEmailName != "")
        {
            MailAddress mailAdd = new MailAddress(reEmailPath, reEmailName);  //收件人
            mail.To.Add(mailAdd);                  //收件人
        }
        else
        {
            mail.To.Add(reEmailPath);                  //收件人
        }
        mail.Subject = sendEmailTitle;         //主题
        mail.Body = sendEmailContent;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <returns></returns>
    public static bool SendEmail(string EmailPath, string EmailName, string EmailTitle, string EmailContent, string attPath)
    {
        SmtpClient client = new SmtpClient();
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailPwd"]);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["EmailPort"]);                //端口号
        client.Host = ConfigurationManager.AppSettings["EmailHost"];     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(EmailPath, EmailName, EmailTitle, EmailContent, attPath));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 初始化信件相关信息
    /// </summary>
    /// <param name="address">发送地址</param>
    /// <param name="title">标题</param>
    /// <param name="content">内容</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string address, string name, string title, string content, string attPath)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailName"]);  //发件人
        if (name != "")
        {
            MailAddress mailAdd = new MailAddress(address, name);  //收件人
            mail.To.Add(mailAdd);                  //收件人
        }
        else
        {
            mail.To.Add(address);                  //收件人
        }
        mail.Subject = title;         //主题
        mail.Body = content;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        Attachment attach = new Attachment(attPath, "application/x-zip-compressed");
        mail.Attachments.Add(attach);
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
    /// <summary>
    /// 发送邮件(群发)
    /// </summary>
    /// <returns></returns>
    public static bool SendEmail(string[] EmailPath, string[] EmailName, string EmailTitle, string EmailContent)
    {
        SmtpClient client = new SmtpClient();
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailPwd"]);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["EmailPort"]);                //端口号
        client.Host = ConfigurationManager.AppSettings["EmailHost"];     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(EmailPath, EmailName, EmailTitle, EmailContent));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 初始化信件相关信息(群发)
    /// </summary>
    /// <param name="address">发送地址</param>
    /// <param name="title">标题</param>
    /// <param name="content">内容</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string[] address, string[] name, string title, string content)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailName"]);  //发件人
        if (name != null && name.Length > 0)
        {
            if (address != null && address.Length > 0)
            {
                for (int i = 0; i < address.Length; i++)
                {
                    if (address != null && address[i] != null && address[i] != "")
                    {
                        string nameStr = name != null && name[i] != null ? name[i].ToString() : "";
                        MailAddress mailAdd = new MailAddress(address[i], nameStr);  //收件人
                        mail.To.Add(mailAdd);                  //收件人
                    }
                }
            }
        }
        else
        {
            for (int i = 0; i < address.Length; i++)
            {
                if (address[i] != null && address[i] != "")
                {
                    mail.To.Add(address[i]);                  //收件人
                }
            }
        }
        mail.Subject = title;         //主题
        mail.Body = content;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
    /// <summary>
    /// 初始化信件相关信息
    /// </summary>
    /// <param name="reEmailPath">收件人</param>
    /// <param name="reEmailName">收件人名称</param>
    /// <param name="sendEmailTitle">发送标题</param>
    /// <param name="sendEmailContent">发送内容</param>
    /// <param name="sendEmailUser">发件人</param>
    /// <param name="sendEmailName">发件人名称</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string reEmailPath, string reEmailName, string sendEmailTitle, string sendEmailContent, string sendEmailUser, string sendEmailName)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(sendEmailUser, sendEmailName);  //发件人
        if (reEmailPath != "")
        {
            MailAddress mailAdd = new MailAddress(reEmailPath, reEmailName);  //收件人
            mail.To.Add(mailAdd);                  //收件人
        }
        else
        {
            mail.To.Add(reEmailPath);                  //收件人
        }
        mail.Subject = sendEmailTitle;         //主题
        mail.Body = sendEmailContent;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
}


15
2015
04

Web App开发入门收藏

自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-Web App(意为基于WEB形式的应用程序)。业界关于Web App与Native App的争论已有一段时间,而Hybrid混合App则受到推荐,随着时间的推移,我们相信Web App也会有一定的市场,那么它到底有什么奥秘呢?让我们来看看。

14
2015
04

IOS 开发环境搭建(新开发语言Swift入门篇-1)

在学习IOS开发过程中,我使用的是虚拟机VMware搭建环境,所以具体的使用搭建环境教程,参考网上:

Swift小苹果-6.2 beta4

14
2015
04

C#、Asp.Net 身份证号码归属地、性别、出生日期查询

页面实现代码:

IDCardNumber idCardNumber;
public SelectIDCard()
{
    InitializeComponent();
}
private void btnQuery_Click(object sender, EventArgs e)
{
    idCardNumber = new IDCardNumber(txtIDCardNumber.Text);
    lblResult.Text = idCardNumber.CheckIDCardNumber(txtIDCardNumber.Text);
}

使用类IDCardNumber源代码:

14
2015
04

C#、Asp.Net 获取汉字全拼音、获得汉字拼音的简操作类

C#中,当需要将汉字转换为拼音或者某个词组转换为首字母缩写的,可以使用下面的类:

/// <summary>
/// 中文获取拼音
/// </summary>
public class PinyinHelper
{
    private static Hashtable _pinyinHash;
 
    private static Regex regWord = new Regex("[a-zA-Z]");
    private static Regex regNum = new Regex("[0-9]");
 
    #region static stor.
    static PinyinHelper()
    {
        _pinyinHash = new Hashtable();
        _pinyinHash.Add(-20319, "a");
        _pinyinHash.Add(-20317, "ai"); _pinyinHash.Add(-20304, "an"); _pinyinHash.Add(-20295, "ang");
        _pinyinHash.Add(-20292, "ao"); _pinyinHash.Add(-20283, "ba"); _pinyinHash.Add(-20265, "bai");
        _pinyinHash.Add(-20257, "ban"); _pinyinHash.Add(-20242, "bang"); _pinyinHash.Add(-20230, "bao");
        _pinyinHash.Add(-20051, "bei"); _pinyinHash.Add(-20036, "ben"); _pinyinHash.Add(-20032, "beng");
        _pinyinHash.Add(-20026, "bi"); _pinyinHash.Add(-20002, "bian"); _pinyinHash.Add(-19990, "biao");
        _pinyinHash.Add(-19986, "bie"); _pinyinHash.Add(-19982, "bin"); _pinyinHash.Add(-19976, "bing");
        _pinyinHash.Add(-19805, "bo"); _pinyinHash.Add(-19784, "bu"); _pinyinHash.Add(-19775, "ca");
        _pinyinHash.Add(-19774, "cai"); _pinyinHash.Add(-19763, "can"); _pinyinHash.Add(-19756, "cang");
        _pinyinHash.Add(-19751, "cao"); _pinyinHash.Add(-19746, "ce"); _pinyinHash.Add(-19741, "ceng");
        _pinyinHash.Add(-19739, "cha"); _pinyinHash.Add(-19728, "chai"); _pinyinHash.Add(-19725, "chan");
        _pinyinHash.Add(-19715, "chang"); _pinyinHash.Add(-19540, "chao"); _pinyinHash.Add(-19531, "che");
        _pinyinHash.Add(-19525, "chen"); _pinyinHash.Add(-19515, "cheng"); _pinyinHash.Add(-19500, "chi");
        _pinyinHash.Add(-19484, "chong"); _pinyinHash.Add(-19479, "chou"); _pinyinHash.Add(-19467, "chu");
        _pinyinHash.Add(-19289, "chuai"); _pinyinHash.Add(-19288, "chuan"); _pinyinHash.Add(-19281, "chuang");
        _pinyinHash.Add(-19275, "chui"); _pinyinHash.Add(-19270, "chun"); _pinyinHash.Add(-19263, "chuo");
        _pinyinHash.Add(-19261, "ci"); _pinyinHash.Add(-19249, "cong"); _pinyinHash.Add(-19243, "cou");
        _pinyinHash.Add(-19242, "cu"); _pinyinHash.Add(-19238, "cuan"); _pinyinHash.Add(-19235, "cui");
        _pinyinHash.Add(-19227, "cun"); _pinyinHash.Add(-19224, "cuo"); _pinyinHash.Add(-19218, "da");
        _pinyinHash.Add(-19212, "dai"); _pinyinHash.Add(-19038, "dan"); _pinyinHash.Add(-19023, "dang");
        _pinyinHash.Add(-19018, "dao"); _pinyinHash.Add(-19006, "de"); _pinyinHash.Add(-19003, "deng");
        _pinyinHash.Add(-18996, "di"); _pinyinHash.Add(-18977, "dian"); _pinyinHash.Add(-18961, "diao");
        _pinyinHash.Add(-18952, "die"); _pinyinHash.Add(-18783, "ding"); _pinyinHash.Add(-18774, "diu");
        _pinyinHash.Add(-18773, "dong"); _pinyinHash.Add(-18763, "dou"); _pinyinHash.Add(-18756, "du");
        _pinyinHash.Add(-18741, "duan"); _pinyinHash.Add(-18735, "dui"); _pinyinHash.Add(-18731, "dun");
        _pinyinHash.Add(-18722, "duo"); _pinyinHash.Add(-18710, "e"); _pinyinHash.Add(-18697, "en");
        _pinyinHash.Add(-18696, "er"); _pinyinHash.Add(-18526, "fa"); _pinyinHash.Add(-18518, "fan");
        _pinyinHash.Add(-18501, "fang"); _pinyinHash.Add(-18490, "fei"); _pinyinHash.Add(-18478, "fen");
        _pinyinHash.Add(-18463, "feng"); _pinyinHash.Add(-18448, "fo"); _pinyinHash.Add(-18447, "fou");
        _pinyinHash.Add(-18446, "fu"); _pinyinHash.Add(-18239, "ga"); _pinyinHash.Add(-18237, "gai");
        _pinyinHash.Add(-18231, "gan"); _pinyinHash.Add(-18220, "gang"); _pinyinHash.Add(-18211, "gao");
        _pinyinHash.Add(-18201, "ge"); _pinyinHash.Add(-18184, "gei"); _pinyinHash.Add(-18183, "gen");
        _pinyinHash.Add(-18181, "geng"); _pinyinHash.Add(-18012, "gong"); _pinyinHash.Add(-17997, "gou");
        _pinyinHash.Add(-17988, "gu"); _pinyinHash.Add(-17970, "gua"); _pinyinHash.Add(-17964, "guai");
        _pinyinHash.Add(-17961, "guan"); _pinyinHash.Add(-17950, "guang"); _pinyinHash.Add(-17947, "gui");
        _pinyinHash.Add(-17931, "gun"); _pinyinHash.Add(-17928, "guo"); _pinyinHash.Add(-17922, "ha");
        _pinyinHash.Add(-17759, "hai"); _pinyinHash.Add(-17752, "han"); _pinyinHash.Add(-17733, "hang");
        _pinyinHash.Add(-17730, "hao"); _pinyinHash.Add(-17721, "he"); _pinyinHash.Add(-17703, "hei");
        _pinyinHash.Add(-17701, "hen"); _pinyinHash.Add(-17697, "heng"); _pinyinHash.Add(-17692, "hong");
        _pinyinHash.Add(-17683, "hou"); _pinyinHash.Add(-17676, "hu"); _pinyinHash.Add(-17496, "hua");
        _pinyinHash.Add(-17487, "huai"); _pinyinHash.Add(-17482, "huan"); _pinyinHash.Add(-17468, "huang");
        _pinyinHash.Add(-17454, "hui"); _pinyinHash.Add(-17433, "hun"); _pinyinHash.Add(-17427, "huo");
        _pinyinHash.Add(-17417, "ji"); _pinyinHash.Add(-17202, "jia"); _pinyinHash.Add(-17185, "jian");
        _pinyinHash.Add(-16983, "jiang"); _pinyinHash.Add(-16970, "jiao"); _pinyinHash.Add(-16942, "jie");
        _pinyinHash.Add(-16915, "jin"); _pinyinHash.Add(-16733, "jing"); _pinyinHash.Add(-16708, "jiong");
        _pinyinHash.Add(-16706, "jiu"); _pinyinHash.Add(-16689, "ju"); _pinyinHash.Add(-16664, "juan");
        _pinyinHash.Add(-16657, "jue"); _pinyinHash.Add(-16647, "jun"); _pinyinHash.Add(-16474, "ka");
        _pinyinHash.Add(-16470, "kai"); _pinyinHash.Add(-16465, "kan"); _pinyinHash.Add(-16459, "kang");
        _pinyinHash.Add(-16452, "kao"); _pinyinHash.Add(-16448, "ke"); _pinyinHash.Add(-16433, "ken");
        _pinyinHash.Add(-16429, "keng"); _pinyinHash.Add(-16427, "kong"); _pinyinHash.Add(-16423, "kou");
        _pinyinHash.Add(-16419, "ku"); _pinyinHash.Add(-16412, "kua"); _pinyinHash.Add(-16407, "kuai");
        _pinyinHash.Add(-16403, "kuan"); _pinyinHash.Add(-16401, "kuang"); _pinyinHash.Add(-16393, "kui");
        _pinyinHash.Add(-16220, "kun"); _pinyinHash.Add(-16216, "kuo"); _pinyinHash.Add(-16212, "la");
        _pinyinHash.Add(-16205, "lai"); _pinyinHash.Add(-16202, "lan"); _pinyinHash.Add(-16187, "lang");
        _pinyinHash.Add(-16180, "lao"); _pinyinHash.Add(-16171, "le"); _pinyinHash.Add(-16169, "lei");
        _pinyinHash.Add(-16158, "leng"); _pinyinHash.Add(-16155, "li"); _pinyinHash.Add(-15959, "lia");
        _pinyinHash.Add(-15958, "lian"); _pinyinHash.Add(-15944, "liang"); _pinyinHash.Add(-15933, "liao");
        _pinyinHash.Add(-15920, "lie"); _pinyinHash.Add(-15915, "lin"); _pinyinHash.Add(-15903, "ling");
        _pinyinHash.Add(-15889, "liu"); _pinyinHash.Add(-15878, "long"); _pinyinHash.Add(-15707, "lou");
        _pinyinHash.Add(-15701, "lu"); _pinyinHash.Add(-15681, "lv"); _pinyinHash.Add(-15667, "luan");
        _pinyinHash.Add(-15661, "lue"); _pinyinHash.Add(-15659, "lun"); _pinyinHash.Add(-15652, "luo");
        _pinyinHash.Add(-15640, "ma"); _pinyinHash.Add(-15631, "mai"); _pinyinHash.Add(-15625, "man");
        _pinyinHash.Add(-15454, "mang"); _pinyinHash.Add(-15448, "mao"); _pinyinHash.Add(-15436, "me");
        _pinyinHash.Add(-15435, "mei"); _pinyinHash.Add(-15419, "men"); _pinyinHash.Add(-15416, "meng");
        _pinyinHash.Add(-15408, "mi"); _pinyinHash.Add(-15394, "mian"); _pinyinHash.Add(-15385, "miao");
        _pinyinHash.Add(-15377, "mie"); _pinyinHash.Add(-15375, "min"); _pinyinHash.Add(-15369, "ming");
        _pinyinHash.Add(-15363, "miu"); _pinyinHash.Add(-15362, "mo"); _pinyinHash.Add(-15183, "mou");
        _pinyinHash.Add(-15180, "mu"); _pinyinHash.Add(-15165, "na"); _pinyinHash.Add(-15158, "nai");
        _pinyinHash.Add(-15153, "nan"); _pinyinHash.Add(-15150, "nang"); _pinyinHash.Add(-15149, "nao");
        _pinyinHash.Add(-15144, "ne"); _pinyinHash.Add(-15143, "nei"); _pinyinHash.Add(-15141, "nen");
        _pinyinHash.Add(-15140, "neng"); _pinyinHash.Add(-15139, "ni"); _pinyinHash.Add(-15128, "nian");
        _pinyinHash.Add(-15121, "niang"); _pinyinHash.Add(-15119, "niao"); _pinyinHash.Add(-15117, "nie");
        _pinyinHash.Add(-15110, "nin"); _pinyinHash.Add(-15109, "ning"); _pinyinHash.Add(-14941, "niu");
        _pinyinHash.Add(-14937, "nong"); _pinyinHash.Add(-14933, "nu"); _pinyinHash.Add(-14930, "nv");
        _pinyinHash.Add(-14929, "nuan"); _pinyinHash.Add(-14928, "nue"); _pinyinHash.Add(-14926, "nuo");
        _pinyinHash.Add(-14922, "o"); _pinyinHash.Add(-14921, "ou"); _pinyinHash.Add(-14914, "pa");
        _pinyinHash.Add(-14908, "pai"); _pinyinHash.Add(-14902, "pan"); _pinyinHash.Add(-14894, "pang");
        _pinyinHash.Add(-14889, "pao"); _pinyinHash.Add(-14882, "pei"); _pinyinHash.Add(-14873, "pen");
        _pinyinHash.Add(-14871, "peng"); _pinyinHash.Add(-14857, "pi"); _pinyinHash.Add(-14678, "pian");
        _pinyinHash.Add(-14674, "piao"); _pinyinHash.Add(-14670, "pie"); _pinyinHash.Add(-14668, "pin");
        _pinyinHash.Add(-14663, "ping"); _pinyinHash.Add(-14654, "po"); _pinyinHash.Add(-14645, "pu");
        _pinyinHash.Add(-14630, "qi"); _pinyinHash.Add(-14594, "qia"); _pinyinHash.Add(-14429, "qian");
        _pinyinHash.Add(-14407, "qiang"); _pinyinHash.Add(-14399, "qiao"); _pinyinHash.Add(-14384, "qie");
        _pinyinHash.Add(-14379, "qin"); _pinyinHash.Add(-14368, "qing"); _pinyinHash.Add(-14355, "qiong");
        _pinyinHash.Add(-14353, "qiu"); _pinyinHash.Add(-14345, "qu"); _pinyinHash.Add(-14170, "quan");
        _pinyinHash.Add(-14159, "que"); _pinyinHash.Add(-14151, "qun"); _pinyinHash.Add(-14149, "ran");
        _pinyinHash.Add(-14145, "rang"); _pinyinHash.Add(-14140, "rao"); _pinyinHash.Add(-14137, "re");
        _pinyinHash.Add(-14135, "ren"); _pinyinHash.Add(-14125, "reng"); _pinyinHash.Add(-14123, "ri");
        _pinyinHash.Add(-14122, "rong"); _pinyinHash.Add(-14112, "rou"); _pinyinHash.Add(-14109, "ru");
        _pinyinHash.Add(-14099, "ruan"); _pinyinHash.Add(-14097, "rui"); _pinyinHash.Add(-14094, "run");
        _pinyinHash.Add(-14092, "ruo"); _pinyinHash.Add(-14090, "sa"); _pinyinHash.Add(-14087, "sai");
        _pinyinHash.Add(-14083, "san"); _pinyinHash.Add(-13917, "sang"); _pinyinHash.Add(-13914, "sao");
        _pinyinHash.Add(-13910, "se"); _pinyinHash.Add(-13907, "sen"); _pinyinHash.Add(-13906, "seng");
        _pinyinHash.Add(-13905, "sha"); _pinyinHash.Add(-13896, "shai"); _pinyinHash.Add(-13894, "shan");
        _pinyinHash.Add(-13878, "shang"); _pinyinHash.Add(-13870, "shao"); _pinyinHash.Add(-13859, "she");
        _pinyinHash.Add(-13847, "shen"); _pinyinHash.Add(-13831, "sheng"); _pinyinHash.Add(-13658, "shi");
        _pinyinHash.Add(-13611, "shou"); _pinyinHash.Add(-13601, "shu"); _pinyinHash.Add(-13406, "shua");
        _pinyinHash.Add(-13404, "shuai"); _pinyinHash.Add(-13400, "shuan"); _pinyinHash.Add(-13398, "shuang");
        _pinyinHash.Add(-13395, "shui"); _pinyinHash.Add(-13391, "shun"); _pinyinHash.Add(-13387, "shuo");
        _pinyinHash.Add(-13383, "si"); _pinyinHash.Add(-13367, "song"); _pinyinHash.Add(-13359, "sou");
        _pinyinHash.Add(-13356, "su"); _pinyinHash.Add(-13343, "suan"); _pinyinHash.Add(-13340, "sui");
        _pinyinHash.Add(-13329, "sun"); _pinyinHash.Add(-13326, "suo"); _pinyinHash.Add(-13318, "ta");
        _pinyinHash.Add(-13147, "tai"); _pinyinHash.Add(-13138, "tan"); _pinyinHash.Add(-13120, "tang");
        _pinyinHash.Add(-13107, "tao"); _pinyinHash.Add(-13096, "te"); _pinyinHash.Add(-13095, "teng");
        _pinyinHash.Add(-13091, "ti"); _pinyinHash.Add(-13076, "tian"); _pinyinHash.Add(-13068, "tiao");
        _pinyinHash.Add(-13063, "tie"); _pinyinHash.Add(-13060, "ting"); _pinyinHash.Add(-12888, "tong");
        _pinyinHash.Add(-12875, "tou"); _pinyinHash.Add(-12871, "tu"); _pinyinHash.Add(-12860, "tuan");
        _pinyinHash.Add(-12858, "tui"); _pinyinHash.Add(-12852, "tun"); _pinyinHash.Add(-12849, "tuo");
        _pinyinHash.Add(-12838, "wa"); _pinyinHash.Add(-12831, "wai"); _pinyinHash.Add(-12829, "wan");
        _pinyinHash.Add(-12812, "wang"); _pinyinHash.Add(-12802, "wei"); _pinyinHash.Add(-12607, "wen");
        _pinyinHash.Add(-12597, "weng"); _pinyinHash.Add(-12594, "wo"); _pinyinHash.Add(-12585, "wu");
        _pinyinHash.Add(-12556, "xi"); _pinyinHash.Add(-12359, "xia"); _pinyinHash.Add(-12346, "xian");
        _pinyinHash.Add(-12320, "xiang"); _pinyinHash.Add(-12300, "xiao"); _pinyinHash.Add(-12120, "xie");
        _pinyinHash.Add(-12099, "xin"); _pinyinHash.Add(-12089, "xing"); _pinyinHash.Add(-12074, "xiong");
        _pinyinHash.Add(-12067, "xiu"); _pinyinHash.Add(-12058, "xu"); _pinyinHash.Add(-12039, "xuan");
        _pinyinHash.Add(-11867, "xue"); _pinyinHash.Add(-11861, "xun"); _pinyinHash.Add(-11847, "ya");
        _pinyinHash.Add(-11831, "yan"); _pinyinHash.Add(-11798, "yang"); _pinyinHash.Add(-11781, "yao");
        _pinyinHash.Add(-11604, "ye"); _pinyinHash.Add(-11589, "yi"); _pinyinHash.Add(-11536, "yin");
        _pinyinHash.Add(-11358, "ying"); _pinyinHash.Add(-11340, "yo"); _pinyinHash.Add(-11339, "yong");
        _pinyinHash.Add(-11324, "you"); _pinyinHash.Add(-11303, "yu"); _pinyinHash.Add(-11097, "yuan");
        _pinyinHash.Add(-11077, "yue"); _pinyinHash.Add(-11067, "yun"); _pinyinHash.Add(-11055, "za");
        _pinyinHash.Add(-11052, "zai"); _pinyinHash.Add(-11045, "zan"); _pinyinHash.Add(-11041, "zang");
        _pinyinHash.Add(-11038, "zao"); _pinyinHash.Add(-11024, "ze"); _pinyinHash.Add(-11020, "zei");
        _pinyinHash.Add(-11019, "zen"); _pinyinHash.Add(-11018, "zeng"); _pinyinHash.Add(-11014, "zha");
        _pinyinHash.Add(-10838, "zhai"); _pinyinHash.Add(-10832, "zhan"); _pinyinHash.Add(-10815, "zhang");
        _pinyinHash.Add(-10800, "zhao"); _pinyinHash.Add(-10790, "zhe"); _pinyinHash.Add(-10780, "zhen");
        _pinyinHash.Add(-10764, "zheng"); _pinyinHash.Add(-10587, "zhi"); _pinyinHash.Add(-10544, "zhong");
        _pinyinHash.Add(-10533, "zhou"); _pinyinHash.Add(-10519, "zhu"); _pinyinHash.Add(-10331, "zhua");
        _pinyinHash.Add(-10329, "zhuai"); _pinyinHash.Add(-10328, "zhuan"); _pinyinHash.Add(-10322, "zhuang");
        _pinyinHash.Add(-10315, "zhui"); _pinyinHash.Add(-10309, "zhun"); _pinyinHash.Add(-10307, "zhuo");
        _pinyinHash.Add(-10296, "zi"); _pinyinHash.Add(-10281, "zong"); _pinyinHash.Add(-10274, "zou");
        _pinyinHash.Add(-10270, "zu"); _pinyinHash.Add(-10262, "zuan"); _pinyinHash.Add(-10260, "zui");
        _pinyinHash.Add(-10256, "zun"); _pinyinHash.Add(-10254, "zuo"); _pinyinHash.Add(-10247, "zz");
    }
    #endregion
 
    /// <summary>
    /// 获得汉字的拼音,如果输入的是英文字符将原样输出,中文标点符号将被忽略
    /// </summary>
    /// <param name="chineseChars">汉字字符串</param>
    /// <returns>拼音</returns>
    public static string GetPinyin(string chineseChars)
    {
        byte[] byteArray = System.Text.Encoding.Default.GetBytes(chineseChars);
        int byteValue;
        StringBuilder sb = new StringBuilder(chineseChars.Length * 4);
        for (int i = 0; i < byteArray.Length; i++)
        {
            byteValue = (int)byteArray[i];
            if (byteValue > 160)
            {
                ++i;
                if (i >= byteArray.Length)
                {
                    break;
                }
                byteValue = byteValue * 256 + byteArray[i] - 65536;
                sb.Append(GetPinyin(byteValue));
            }
            else
            {
                sb.Append((char)byteValue);
            }
        }
 
        return sb.ToString();
    }
 
    /// <summary>
    /// 获得汉字拼音的简写,即每一个汉字的拼音的首字母组成的串,如果输入的是英文字符将原样输出,中文标点符号将被忽略
    /// </summary>
    /// <param name="chineseChars">汉字字符串</param>
    /// <returns>拼音简写</returns>
    public static string GetShortPinyin(string chineseChars)
    {
        byte[] byteArray = System.Text.Encoding.Default.GetBytes(chineseChars);
        int byteValue;
        StringBuilder sb = new StringBuilder(chineseChars.Length * 4);
        for (int i = 0; i < byteArray.Length; i++)
        {
            byteValue = (int)byteArray[i];
            if (byteValue > 160)
            {
                ++i;
                if (i >= byteArray.Length)
                {
                    break;
                }
                byteValue = byteValue * 256 + byteArray[i] - 65536;
                string charPinyin = GetPinyin(byteValue);
                if (!string.IsNullOrEmpty(charPinyin))
                {
                    charPinyin = new string(charPinyin[0], 1);
                }
                sb.Append(charPinyin);
            }
            else
            {
                sb.Append((char)byteValue);
            }
        }
 
        return sb.ToString();
    }
 
    private static string GetPinyin(int charValue)
    {
        if (charValue < -20319 || charValue > -10247)
            return "";
 
        while (!_pinyinHash.ContainsKey(charValue))
            charValue--;
 
        return (string)_pinyinHash[charValue];
    }
 
    public static string GetFirstWord(string pingyin)
    {
        pingyin = pingyin.Trim();
        string word = "";
        for (int i = 0; i < pingyin.Length; i++)
        {
            word = pingyin.Substring(i, 1);
            if (regWord.IsMatch(word))
            {
                break;
            }
            if (regNum.IsMatch(word))
            {
                if (word == "0")
                    word = "l";
                else if (word == "1")
                    word = "y";
                else if (word == "2")
                    word = "e";
                else if (word == "3")
                    word = "s";
                else if (word == "4")
                    word = "s";
                else if (word == "5")
                    word = "w";
                else if (word == "6")
                    word = "l";
                else if (word == "7")
                    word = "q";
                else if (word == "8")
                    word = "b";
                else if (word == "9")
                    word = "q";
                else
                    continue;
                break;
            }
        }
        return word;
    }
}

12
2015
04

C#、Asp.Net 详细文件操作工具类收藏

public class Txt
{
    public Txt()
    {
    }
    /// <summary>
    /// 新建文件
    /// </summary>
    /// <param name="filename">文件名</param>
    /// <param name="path">文件路径</param>
    public static void NewFile(string filename, string path)
    {
        filename.Trim();
        if (filename == "")
        {
            MessageBox.Show("文件名不能为空~!");
        }
        else
        {
            if (File.Exists(path + "//" + filename + ".txt"))
            {
                MessageBox.Show("该文件名已经存在,请重命名");
            }
            else
            {
                string FullName = path + "//" + filename + ".txt";   //获得文件完整信息
                StreamWriter Sw = File.CreateText(FullName);
            }
        }
    }
    /// <summary>
    /// 新建文件(Enter键触发)
    /// </summary>
    /// <param name="filename">文件名</param>
    /// <param name="path">文件路径</param>
    public static void Enter(string filename, string path)
    {
        filename.Trim();
        if (filename == "")
        {
            MessageBox.Show("文件名不能为空~!");
        }
        else
        {
            if (File.Exists(path + "//" + filename + ".txt"))
            {
                MessageBox.Show("该文件名已经存在,请重命名");
            }
            else
            {
                string FullName = path + "//" + filename + ".txt";   //获得文件完整信息
                StreamWriter Sw = File.CreateText(FullName);
            }
        }
    }
    /// <summary>
    /// 读取显示
    /// </summary>
    /// <param name="filename">文本文件名</param>
    /// <param name="contents">内容</param>
    public static string Display(string filename)
    {//读取显示
        try
        {
            string contents;
            FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);   //读出所打开的文本文件
            StreamReader reader = new StreamReader(fs);     //实例化一个streamreader
            contents = reader.ReadToEnd();           //将数据显示
            fs.Close();
            return contents;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            return "";
        }
    }
    /// <summary>
    /// 打开
    /// </summary>
    /// <param name="ofd">打开对话框</param>
    /// <param name="fullname">文本文件名</param>
    /// <param name="contents">内容</param>
    public static void Open(OpenFileDialog ofd, string fullname, string contents)
    {//打开文本
        try
        {
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string fileName = ofd.FileName;     //文件名
                FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                StreamReader reader = new StreamReader(fs);
                fullname = fileName;
                contents = reader.ReadToEnd();
                fs.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    /// <summary>
    /// 保存
    /// </summary>
    /// <param name="fullname">文本文件名</param>
    /// <param name="contents">内容</param>
    public static void Save(string fullname, string contents)
    {//保存
        try
        {
            StreamWriter writer = new StreamWriter(fullname);
            writer.Write(contents);      //用write()方法把txtContent的数据写入文件
            writer.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    /// <summary>
    /// 另存为
    /// </summary>
    /// <param name="sfd">保存对话框</param>
    /// <param name="contents">内容</param>
    public static void SaveAs(SaveFileDialog sfd, string contents)
    {
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            string fileName = sfd.FileName;
            try
            {
                Stream stream = File.OpenWrite(fileName);
                using (StreamWriter writer = new StreamWriter(stream))
                {
                    writer.Write(contents);
                    writer.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    /// <summary>
    /// 粗体
    /// </summary>
    /// <param name="rtb"></param>
    public static void Bold(RichTextBox rtb)
    {
        Font newFont = new Font(rtb.SelectionFont,
                    (rtb.SelectionFont.Bold ?
                        rtb.SelectionFont.Style & ~FontStyle.Bold :
                        rtb.SelectionFont.Style | FontStyle.Bold));
        rtb.SelectionFont = newFont;
    }
    /// <summary>
    /// 斜体
    /// </summary>
    /// <param name="rtb"></param>
    public static void Italic(RichTextBox rtb)
    {
        Font newFont = new Font(rtb.SelectionFont,
        (rtb.SelectionFont.Italic ?
        rtb.SelectionFont.Style & ~FontStyle.Italic :
        rtb.SelectionFont.Style | FontStyle.Italic));
        rtb.SelectionFont = newFont;
    }
    /// <summary>
    /// 下划线
    /// </summary>
    /// <param name="rtb"></param>
    public static void Underline(RichTextBox rtb)
    {
        Font newFont = new Font(rtb.SelectionFont,
        (rtb.SelectionFont.Underline ?
        rtb.SelectionFont.Style & ~FontStyle.Underline :
        rtb.SelectionFont.Style | FontStyle.Underline));
        rtb.SelectionFont = newFont;
    }
    /// <summary>
    /// 复制
    /// </summary>
    /// <param name="rtb"></param>
    public static void Copy(RichTextBox rtb)
    {
        if (rtb.SelectedText.Equals(""))
            return;
        Clipboard.SetDataObject(rtb.SelectedText, true);
    }
    /// <summary>
    /// 剪切
    /// </summary>
    /// <param name="rtb"></param>
    public static void Cut(RichTextBox rtb)
    {
        if (rtb.SelectedText.Length > 0)
        {
            try
            {
                rtb.Cut();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    /// <summary>
    /// 粘贴
    /// </summary>
    /// <param name="rtb"></param>
    public static void Paste(RichTextBox rtb)
    {
        rtb.Paste();
    }
    /// <summary>
    /// 退出
    /// </summary>
    /// <param name="fullname">文本文件全名</param>
    /// <param name="contents">内容</param>
    public static void Exit(string fullname, string contents)
    {
        if (MessageBox.Show("是否保存文件", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
        {
            try
            {
                StreamWriter writer = new StreamWriter(fullname);
                writer.Write(contents);      //用write()方法把txtContent的数据写入文件
                writer.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    /// <summary>
    /// 在指定目录新建一个文本文件
    /// </summary>
    /// <param name="path"></param>
    /// <param name="name"></param>
    /// <returns></returns>
    public static StreamWriter CreateText(string path, string name)
    {
        return File.CreateText(path + "//" + name);
    }
    /// <summary>
    /// 删除指定文件
    /// </summary>
    /// <param name="strFile">文件完整路径</param>
    public static void DeleteFile(string strFile)
    {
        File.Delete(strFile);
    }
}

04
2015
04

Sql语句检查身份证号码的性别、出生日期、省市县

创建存储过程如下:

create proc CheckID (
@IDcardNO varchar(50)    --@IDcardNO 身份证号
)
as 
declare @length  int             -- 身份证号位数
declare @r varchar(2)            --判断第18位校验位是否正确
declare @i int                   --用于计算第18位校验位是否正确
declare @sex varchar(2)          --性别 
declare @Province  varchar(50)   --省
declare @city  varchar(50)       --市
declare @area   varchar(50)      --区
declare @birthday   varchar(50)  --出生年月

set @length=len(@IDCardNo) 
IF @IDCardNo IS NULL OR @IDCardNo = NULL OR LTRIM(RTRIM(@IDCardNo)) = ''
BEGIN
PRINT '身份证号不可为空!'
RETURN 
END
--判断位数
if @length<>18   
begin 
print '身份证号码位数有误,请核查!'
return 
end 
IF @length = 18
begin 
-- IF ISNUMERIC(LEFT(@IDCardNo, 17)) = 0     --判断前17位是否为数字类型
--  BEGIN  
--   print '身份证号码前17位含特殊符号,请核查!'  
--    RETURN 
--     END
-- IF ISDATE(SUBSTRING(@IDCardNo, 7, 4) + '-' + SUBSTRING(@IDCardNo, 11, 2) + '-' + SUBSTRING(@IDCardNo, 13, 2)) = 0 
--  begin 
--   print '身份证出生年月日不合理,请核查!'   --判断7-14位 出生年月日 是否合理
--    return
--     end 
--其中跟据国家规定的计算公式,计算18位身份证检验位 and 验证身份证是否错误
set @i = cast(substring(@IDcardNO,1,1) as int) * 7    
 +cast(substring(@IDcardNO,2,1) as int) * 9   
 +cast(substring(@IDcardNO,3,1) as int) * 10
 +cast(substring(@IDcardNO,4,1) as int) * 5 
 +cast(substring(@IDcardNO,5,1) as int) * 8 
 +cast(substring(@IDcardNO,6,1) as int) * 4
 +cast(substring(@IDcardNO,7,1) as int) * 2
 +cast(substring(@IDcardNO,8,1) as int) * 1    
 +cast(substring(@IDcardNO,9,1) as int) * 6 
 +cast(substring(@IDcardNO,10,1) as int) * 3
 +cast(substring(@IDcardNO,11,1) as int) * 7 
 +cast(substring(@IDcardNO,12,1) as int) * 9   
 +cast(substring(@IDcardNO,13,1) as int) * 10  
 +cast(substring(@IDcardNO,14,1) as int) * 5
 +cast(substring(@IDcardNO,15,1) as int) * 8
 +cast(substring(@IDcardNO,16,1) as int) * 4
 +cast(substring(@IDcardNO,17,1) as int) * 2 
set @i = @i - @i/11 * 11 
set @r = cast((case @i 
 when 0 then 1
 when 1 then 0       
 when 2 then 11      
 when 3 then 9      
 when 4 then 8       
 when 5 then 7       
 when 6 then 6       
 when 7 then 5      
 when 8 then 4       
 when 9 then 3       
 when 10 then 2       
 else '' end) as char)   
if  (@r = 11)  
begin 
set  @r='X' 
end 
else
begin  
set @r = @r
end  
 if substring(@IDcardNO,18,1) <>@r
 begin
 print '身份证输入错误!请核查'
 RETURN 
 end 
--***********************************
--出生年月
select @birthday=( SUBSTRING(@IDCardNo, 7, 4) + '-' + SUBSTRING(@IDCardNo, 11, 2) + '-' + SUBSTRING(@IDCardNo, 13, 2))
---判断性别
SELECT  @sex=CASE  substring(@IDcardNO,17,1)%2   WHEN   1   THEN   '男'   ELSE   '女'   END   
 --省,市,区
select  @province=province  from tj_province where provinceID=left(@IDcardNO,2) + '0000'   
select @city=city from tj_city where cityID=left(@IDcardNO,4) + '00'   
select @area=area from tj_area where areaID=left(@IDcardNO,6) 
select @province as 省,@city as 市 , @area as 地区,@sex as 性别,@birthday  as 出生日期
end


03
2015
04

JavaScript判断当前页面是否为手机访问

var browser = {
    versions: function () {
        var u = navigator.userAgent, app = navigator.appVersion;
        return {//移动终端浏览器版本信息   
            trident: u.indexOf('Trident') > -1, //IE内核  
            presto: u.indexOf('Presto') > -1, //opera内核  
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核  
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核  
            mobile: !!u.match(/AppleWebKit.*Mobile.*/) && !!u.match(/AppleWebKit/), //是否为移动终端  
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器  
            //iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器  
            iPhone: u.indexOf('iPhone') > -1, //是否为iPhone
            iPad: u.indexOf('iPad') > -1, //是否iPad  
            WindowsMobile: u.indexOf('WindowsMobile') > -1, //是否WindowsMobile
            WindowsPhone: u.indexOf('ARM; Touch') > -1, //是否WindowsPhone
            webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部  
        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.android || browser.versions.iPhone || browser.versions.WindowsMobile || browser.versions.WindowsPhone) {
    window.location.href = "http://m.baidu.com"; //调转到手机页面
}

27
2015
03

C#、Asp.Net 操作Access数据库工具类

在开发过程中,如果没有MSSql数据库,那么使用Access数据库时,需要对Access数据库数据进行操作,对Access数据操作和MSSql差不多,所以可以建立工具类,方便使用,需注意:在添加和修改数据时,有时候回出现无法操作,可能是数据表中的"关键词",需要在字段的两边加上[]:

public class SQLAccess

{

    /// <summary>

    /// 返回多行多列查询值,无效则返回 

27
2015
03

C#、Asp.Net 读取网页源代码多种方法类

Asp.Net网站和WinForm开发过程中,常常需要抓取某个网站或地址的源代码,所以写一个读取网页源代码是有必要的:

/// <summary>

/// 网页操作类

/// </summary>

public class HTML

{

    /// <summary>

    /// 获取网页源代码

    /// </summary>

21
2015
03

明升:火箭这个赛季对位开拓者需要注意这几点

最近几场火箭打开拓者都比较难打,特别是对位利拉德和巴托姆这2点,火箭都吃亏,更不要说阿尔德里奇了,霍华德回归还好点,就像上赛季火箭打开拓者一样, 火箭如果再遇开拓者估计结局也一样。明升体育分析到,为什么这么说呢?首先我们看看这个赛季火箭打开拓者和打勇士基本都是处在下风。开拓者老到,稳扎稳打。明升体育为你分析下对位情况。

18
2015
03

VS启动,外接程序“VMDebugger”未能加载或导致了异常

VS启动,外接程序“VMDebugger”未能加载或导致了异常,找到解决办法,所以记录下来:

故障现象:打开Visual Studio 2010后弹出错误框,外接程序VMDebugger未能加载或导致了异常,是否希望移除该外接程序,错误号:80004005。系统版本:WIN8.1 64位企业版,安装了Resharper8.1,破解。
 

外接程序VMDebugger未能加载或导致了异常

14
2015
03

JavaScript、C#对时间戳进行转换为正常时间

在学习过程中,突然遇到一个问题,想从某个网站抓取一些数据,这些数据中发现有一个格式为一串数字的“1426297930”时间,想要正常显示成“yyyy-MM-dd HH:mm:ss”这种格式的时间,就找到一些方法如下:

13
2015
03

在C#中使用正则表达式自动匹配并获取所需要的数据

正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等)。正则表达式功能强大,使用灵活,C#,Java,JavaScript等多种语言都支持正则表达式。在互联网上“抓取数据”更是少不了使用正则表达式。今天我要说的是在C#中使用正则表达式自动匹配并获取所需要的数据。 

从下面是某个IP查询网站返回查询结果的一个部分(字符串),现在就是要从这个字符串中获取“查询结果1:”后面的“北京市 网通”。 

05
2015
03

Sys.WebForms.PageRequestManagerParserErrorException的解决方法

在使用UpdatePanel的时候,如果要用到Response.Write()方法,则会出错,错误信息内容大概如下:

Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled. Details: Error parsing near ' 你要输出的内容|UpdatePanel|U'
本人使用第二种方法真的解决了,分享大家参考!

解决方法如下:

28
2015
02

FastCGI Error Error Number: 5 (0x80070005)解决方法

FastCGI Error Error Number: 5 (0x80070005)


安装PHP后遇到的问题,


FastCGI Error

The FastCGI Handler was unable to process the request. 

--------------------------------------------------------------------------------Error Details: