C# 正则表达式简单验证手机号码

小柊 发表于 2017年03月07日 23时39分41秒

老样子,废话少说一句话系列:

C#用下面的函数进行正则匹配:

#region 验证字符串是否为手机号码 + public static bool IsPhoneNumber(string phoneNumber)
/// <summary>
/// 验证字符串是否为手机号码
/// </summary>
/// <param name="phoneNumber">待验证字符串</param>
/// <returns>
/// 验证结果
/// <para> true  :输入字符串为有效的手机号码</para>
/// <para> false :输入字符串为无效的手机号码</para>
/// </returns>
public static bool IsPhoneNumber(string phoneNumber)
{
	return Regex.IsMatch(phoneNumber, @"^1(3[0-9]|5[0-9]|7[6-8]|8[0-9])[0-9]{8}$");
} 
#endregion

 

现在很多时候,网站都会需要用户提供自己的手机号码。不过很多时候用户会选择随便输入11位数字,如果去在提交时不及时发现,可能到时候就是白白调用一次短信发送接口。如果可以,我们后台开发者更希望能在用户提交时发现明显不合法的手机号码,从而阻止提交保存。那该怎么做呢。

浏览内容

老树新花——旧项目改善之浙师60周年庆,点亮全球送祝福

小柊 发表于 2017年02月28日 23时02分20秒

人总在不停地进步,可能若干年后回首看看自己多年以前开发的项目,可能或多或少会笑话自己当年是多么的年轻。最近无聊的时候翻看了一下自己以前的几个项目,发现有很多可以改进的地方。所以决定开一个新系列出来专门讲一下。

这次要讲的项目是去年浙师大六十年校庆的时候行知求知社委托我们计算机协会制作的一个“浙师60周年庆,点亮全球送祝福”的项目。

浏览内容

Asp.net MVC4 WebAPI启用Session

小柊 发表于 2017年02月22日 19时08分48秒

原标题:Asp.net MVC4 WebAPI Session总是为null的解决方案

一、背景

之前群里有位大神说,现在Web开发最好的结构就是MVC+WebAPI+AngularJS/Ajax,通过这样来降低后端对前端的控制和影响。

正好最近在整理一个项目的代码,这个项目原本有一个BackGroundController控制器,里面所有的Action返回的都是JsonResult,心里想想干脆就改成WebAPI算了。结果改代码改到一半的时候发现了一个问题:由于有个数据提交接口的代码做了防机器提交的操作,所以在执行的时候需要访问Session取得验证字符串。但在访问Session的时候直接被抛出了NullReferenceException。

经过检查,发现是HttpContext.Current.Session为null,才使得在这里抛出异常。

浏览内容

C# WinForm注册自定义协议

小柊 发表于 2017年02月13日 22时55分32秒

一、前言

自定义协议是什么?这么突然问起来可能不太会有人想起来,但如果给你看以下几个地址,你们应该会马上反应过来:

  • tencent://xxxxxxxxxx……
  • thunder://xxxxxxxxxx……
  • qqdl://xxxxxxxxxx……
  • aliim://xxxxxxxxxx……

浏览内容

Win7 远程桌面连接及Internet Explorer 11 局域网(LAN)设置窗口字体异常解决方案

小柊 发表于 2017年02月04日 20时53分50秒

一、前言

因为我自己用的杀毒软件是ESET Smart Security,如果系统有没安装的补丁的话,会被提醒Windows Update有更新。所以我的电脑基本都是装好所有补丁的。

结果很久之前,不知道哪次更新之后,Internet Explorer 11里的局域网(LAN)设置窗口字体就变掉了,打开来变成了这个样子:

浏览内容

C# EntityFramework连接MySQL数据库

小柊 发表于 2017年01月26日 11时17分04秒

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。在安装完Visual Studio之后,可以在项目中右键添加新建项,选择“ADO.NET 实体数据模型”,然后走一个非常简单的向导就可以把Entity Framework添加进项目里了。

但实际用过EF框架的人都知道,默认情况下,实体数据模型向导里是没有办法连接MySQL数据库的。

浏览内容

海马玩 0.9.0 完全去广告教程

小柊 发表于 2016年12月13日 19时29分50秒

这篇文章其实半年前就可以写出来了,但无奈我懒癌发作,一直拖到现在。

我们都知道,在电脑上玩安卓游戏并不是一件特别难的事情,有很多的安卓模拟器可以选择。我一直以来用的是海马玩模拟器,但海马玩这软件非常让人反感的就是他的广告。你说你要营收那我也没有办法,但你除了启动界面的广告以外,右下角弹窗和启动弹窗真的非常让人反感。你的窗口里怎么塞广告我管不着,但出了你的窗口以外可都是我的屏幕,做事情不要太过分了。毕竟咱是学计算机的,去广告什么的动动脑子动动手也不是一件难事。

浏览内容

Visual Studio 2015 诊断工具异常失败 解决方案

小柊 发表于 2016年09月18日 23时58分00秒

如果说Visual Studio 2015里有什么新功能是我最喜欢的,那我一定会说是新增的诊断工具,它可以在调试程序时追踪程序的CPU和内存使用率,如果在调试的时候看到内存使用量不断的增长,就可以判断程序中存在没有即时释放的资源,非常明显好用。

不过最近不知道为什么它启动不了了,每次启动调试的时候它只会显示一句“诊断工具意外失败。输出窗口中的诊断中心输出可能包含其他信息。

浏览内容

细说使用AForge.Video.FFMPEG的几个坑

小柊 发表于 2016年09月15日 19时09分18秒

一直觉得.net在多媒体处理方面渣得不行。最近需要做一个摄像头的程序,为了方便,用了AForge这个开源项目。AForge项目中有AForge.Video和AForge.Video. DirectShow这两个子项目,可以方便的调用摄像头。但是这两个项目最终只能取得视频帧,并不能保存为视频文件。经高人指点,AForge还有一个子项目AForge.Video.FFMPEG,它可以将图片压制成Avi视频格式。不过这个AForge.Video.FFMPEG在实际使用的时候会遇到不少坑,下面我将我在这次使用中遇到的坑分享给大家。

浏览内容

useso.com 爆炸解决方案

小柊 发表于 2016年09月05日 15时47分02秒

WordPress默认情况下使用了Google Fonts公共字体库,然而国内一直受到“Girl Friend Wall”的照顾,打不开Google的大部份服务。所以国内的WordPress都需要使用第三方的前端公共库CDN服务才能顺利打开网站。

浏览内容

C# 全局异常捕获

小柊 发表于 2016年08月18日 13时28分07秒

开发界有那么一个笑话,说是“「我爱你」三个字,讲出来只要三秒钟,解释要三小时,证明却要一辈子。「Bug」三个字母,发现需要三秒,找到需要三小时,Debug却要一辈子。”。就算是资深的程序员也会写出Bug,但Bug并不可怕,重要的是在Bug发生的时候迅速定位Bug。

在Visual Studio中调试的时候,我们可以借助VS的调试工具进行调试,一旦出现未处理的异常时,VS也会在第一时间捕获并显示出来。随着开发的进行,终于程序要打包上线了。那么在上线之出了BUG我们该如何处理呢?

浏览内容

C# 可重载运算符

小柊 发表于 2016年08月18日 0时05分16秒

对于一个没接触过.net的Java程序员来说,在.net里最不适应的大概就是字符串之间的比较居然可以用“==”运算符。因为在Java里用“==”运算符去比较两个对象是否相等,是根据两个对象所在的内存地址是否相同来比较的。

那为什么.net就可以用“==”运算符来比较两个的字符串内容是否相等呢?原因就如标题所说,.net支持运算符的重载,也正是微软在写String类的时候已经帮我们重写了“==”运算符,我们才能通过简单的“==”运算符去比较两个字符串内容是否相同,而不需要去调用字符串的Equals()方法。

浏览内容

C# Entity Framework操作MySQL数据库乱码问题

小柊 发表于 2016年08月08日 16时49分39秒

废话少说一句话系列:

根据项目类型打开对应的config文件(app.config或web.config),找到连接字符串,加入“Character Set=utf8;”(不含引号)即可。

 

上一篇我们解决了Visual Studio 实体数据模型向导在选择完数据库连接后点击下一步就闪退问题,正式开始了EF框架操作MySQL的旅程。但好景不长,没过几天那个开发Java的学长就跟我反应数据库里有一堆全是问号的记录,看这写入时间,应该是我干的。

浏览内容

MySQL 5.7以上 root用户默认密码问题

小柊 发表于 2016年08月07日 2时17分16秒

废话少说一句话系列:

CentOS系统用yum安装MySQL的朋友,请使用 grep "temporary password" /var/log/mysqld.log 命令,返回结果最后引号后面的字符串就是root的默认密码。

(如果不存在/var/log/mysqld.log文件,请确保您已经启动过一次MySQL服务。CentOS 7启动MySQL服务的命令是:systemctl start mysqld.service

 

最近有点小问题,需要在本地虚拟机里搭建一个MySQL服务器.但是按着以前的日志一步步操作,最后总是会卡在MySQL安装完之后的root登陆上。

按照以前,安装完MySQL之后是可以直接用

mysql -uroot

进入MySQL控制台的,结果现在不行了,会提示

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

浏览内容

Visual Studio 实体数据模型向导在选择完数据库连接后点击下一步闪退问题

小柊 发表于 2016年07月22日 0时27分13秒

最近一直在做的一个项目,按设计是需要我将数据写入数据库,然后由别人的系统读出来,因为另外一边读出来的系统是Java开发的,而且代码基本成型,所以我这边就只能跟着他用MySQL了。

好在MySQL有推出.net的程序包,可以让EntityFramework支持MySQL数据库,具体的流程以后再细谈,简单地讲就是装MySQL for Visual Studio==>装mysql-connector-net==>获取EntityFramework、MySql.Data、MySql.Data.Entity程序包。不过我在实际的操作过程里发生了一件非常蛋疼的事情——在实体数据模型向导里填写好数据库连接设置后点击“下一步”按钮,实体数据模型向导就会直接闪退。

浏览内容