昨晚花了半小时,写了个验证中国身份证的正则表达式。目前觉得还是比较满意的。比较严谨。

/(^\d{6}(19|20)\d{2}([0][1-9]|10|11|12)([0,1,2][0-9]|[3][0,1])\d{3}([0-9]|X|x)$)/

Posted in 技术碎片 |

微信朋友圈同步到新浪微博,可以使用微同步实现这一需求。

原理: 微信-->腾讯微博-->微同步-->新浪微博

在微同步绑定好关系后,之后在发微信朋友圈的时候,同时发送到腾讯微博。这样你发的微信朋友圈内容即可以自动同步到新浪微博啦。很赞吧。

 

 

Tags: 微同步

Posted in 微同步 |
sp_addlinkedserver '自定义名称','','SQLOLEDB','服务器IP'
exec sp_addlinkedsrvlogin 'LinkName','false',null,'SQL服务器用户名','密码'
添加:
 
exec sp_addlinkedserver 'LinkName','','SQLOLEDB','8.8.8.8'
 
exec sp_addlinkedsrvlogin 'LinkName','false',null,'hooyes','hooyesPWD'
 
删除:
 
sp_droplinkedsrvlogin  'LinkName',null
 
sp_dropserver 'LinkName'
Tags: sql

Posted in 技术碎片 |

前一段时间,去一趟新加坡,短短的几天,对于历史的长河,显得有些时间匆匆,没细细的去品味这个城市一样的国家。

只能记下对新加坡的一知半解。

漫步在新加坡的街头,汽车对行人文明礼让,即便在没有红绿灯的路口,你也可以安心过马路,即便就是一个人过马路,后台排着长队的汽车也在耐心等你过去,

后面的汽车不会加塞,不会鸣笛。真正的做到以人为本。对于这点,感触很深,真心希望在经过几代人后,我们国家也可以实现在这样的画面。

Tags: gossip

Posted in 随笔闲言 |

1T = 1024G

10T = 10240 G 

半个月前,金山快盘宣布空间免费升级到 100GB,并且永久有效,随后便引发了国内网盘的容量之争:

先是百度可以1块钱买 1TB,360 紧接着就直接白送 1TB,

华为网盘(原 DBank)更是扩大到了无限。

今天,腾讯微云也忍不住了,也宣布创造“个人云存储巅峰时刻”,“10TB 永久容量免费送”。虽然比不上华为的无限容量,但是 10TB 对绝大多数人来说已经基本上等同于无限了。

百度网盘花1块钱买1T 活动地址:http://yun.baidu.com/1t

腾讯微云网盘送10T 活动地址:http://www.weiyun.com/act/10t.html

那么一起疯狂一起吧。

看看谁笑到最后。

Tags: gossip

Posted in 随笔闲言 |

MSSQL 数据库中没有Split 函数,我有时候我们需要在数据库中解析一下,类似于  A,B,C,D 这样有规则的分隔符的字符串。

可以写个自定义Split 表值函数:

---- =============================================
---- Author: hooyes
---- Create date: 2013-07-05
---- Update date: 2013-07-05
---- Description: 字符串分割函数
---- =============================================
CREATE FUNCTION [dbo].[split]
    (
      @Str VARCHAR(8000) ,
      @Separator VARCHAR(10)
    )
RETURNS @returntable TABLE
    (
      id INT IDENTITY(1, 1) ,
      value VARCHAR(500)
    )
AS
    BEGIN
        DECLARE @i INT
        SET @Str = RTRIM(LTRIM(@Str))
        SET @i = CHARINDEX(@Separator, @Str)
        WHILE @i >= 1
            BEGIN
                INSERT  @returntable
                VALUES  ( LEFT(@Str, @i - 1) )
                SET @Str = SUBSTRING(@Str, @i + 1, LEN(@Str) - @i)
                SET @i = CHARINDEX(@Separator, @Str)
            END
        IF @Str <> '\'
            BEGIN
                INSERT  @returntable
                VALUES  ( @Str )
            END
        RETURN
    END

在数据库中创建完这个自定义的表值函数后,我们就可以使用啦。

SELECT  *
FROM    dbo.split('apple,banana,coco,hooyes', ',')

-- result
/*
id          value
----------- -----------------------
1           apple
2           banana
3           coco
4           hooyes

*/

SELECT  id ,
        value
FROM    dbo.split('apple;banana;coco;hooyes', ';')
WHERE   value = 'hooyes'

-- result
/*

id          value
----------- --------------------------
4           hooyes

*/

 

Tags: sql

Posted in 技术碎片 |

今天同事向我咨询一个SQL问题,假如,有如下数据表,需求是只消除连续的重复行。

如下数据(表名为 Hooyes, id 是连续的 ),

id 0,1 的number (111) 连续的重复了,只保留一行,id 7,8 的number(111) 也连续重复了,也只保留一行。依此类推。

要求得到的结果如下:

那么如何实现呢?我思考了一下,给出了如下答案:

SELECT  t2.id ,
        t2.number
FROM    ( SELECT    id = id + 1 ,
                    number
          FROM      hooyes
          UNION
          SELECT    0 ,
                    0
        ) AS t1
        INNER JOIN hooyes t2 ON t2.id = t1.id
                                AND t1.number != t2.number

从SQL中,应该能看出来我的思路,就是把原数据表 number 列,错一位,id 不错位,然后再通过id  关联,(这个hooyes 表 id 是连续的,如果ID不是连续的,那个可以使用为 row_number 来进行错位)

判断 number 不相等的列,便可以筛选出来了。 

错位后,如上图所示,ID 一样,值一样的,直接过滤了。并且达到只消除过滤掉连续的重复行。

 

Tags: sql

Posted in 技术碎片 |

例如常见以下JSON格式:

var SomeJsonData = {

     "Name": "hooyes",

     "CreatedDate": "\/Date(1371447559479)\/",

     "UpdateDate": "\/Date(1371707213434)\/"

};

Date 不是 2013-06-17 这样的字符串,而是 Date(....) 这样的JS格式。

在 JS 中把它给格式化出来,我在网上查下,发现大家都做得有点复杂,所以我要发一个简单的,以正视听。哈哈。

我的方法如下:

<script type="text/javascript">
            //扩展一个自定义的格式化方法,格式化为 年 - 月 - 日
            String.prototype.toCustomDateString = function () {
                var r;
                var d = eval("new " + this.replace(/\//g, ""));

                //自定义格式
                if (d.getFullYear() > 1000) {
                    month = d.getMonth() + 1;
                    r = d.getFullYear() + "-" + month + "-" + d.getDate();
                }

                return r;
            }

            var SomeJsonData = {
                "Author": "hooyes",
                "CreatedDate": "\/Date(1371447559479)\/",
                "UpdateDate": "\/Date(1371707213434)\/"
            };

            //使用方法
            var CreatedDate = SomeJsonData.CreatedDate.toCustomDateString();
            var UpdateDate = SomeJsonData.UpdateDate.toCustomDateString();

            alert(CreatedDate);  //2013-6-17
            alert(UpdateDate);   //2013-6-20

        </script>

其中 toCustomDateString 这个扩展性,可以根据自己的需求再改写一下。

 

Tags: JavaScript

Posted in 技术碎片 |

例如Url地址:http://www.hooyes.com/test.html?name=bruce&age=18

在test.html 页面中使用用js获取url 中参数 name 和 age 的值

 

function Request(m) {
   var sValue = location.search.match(new RegExp("[\?\&]" + m + "=([^\&]*)(\&?)", "i"));
   return sValue ? sValue[1] : sValue;
}

var name_val = Request("name"); //获得值 name 的值 hooyes
var age_val = Request("age");   //获得值 age 的值 18

 

 

Tags: JavaScript

Posted in 技术碎片 |

雅虎宣布2013年8月19日关停邮箱服务

说实话,我对这个一点也不惊讶。雅这几年也不知道在做些什么,门户?搜索?邮箱?即时通讯(雅虎通?)没有一个给力的。

雅邮箱Web版,那是越改越难看。体验也做得越来差,雅虎并不缺少技术大拿,也不缺少美工,是什么导致这样的差的体验呢?

给我感觉就是不再创新,没有目标,一直在刻板着。

Tags: gossip

Posted in 随笔闲言 |