手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:工作

javascript替换字符

来自司徒正美,比较方便的关键符号替换。

司徒正美认为:
不用多言,这种技术被广泛应用于表单验证,语法高亮和危险字符过滤中。一段话如果很长,如果不想像下面那样替换,我们得想些办法了。

他先给了个简单的例子:

JavaScript代码
  1. var hash = {  
  2.     '<' : '&lt;' ,
        '>' : '&gt;',
        '…' : '&hellip;',
        '“' : '&ldquo;' ,
        '”' : '&rdquo;' ,
        '‘' : '&lsquo;' ,
        '’' : '&rsquo;' ,
        '—' : '&mdash;',
        '–' : '&ndash;'
  3. };  
  4.    
  5. str = str.  
  6.     replace( /&(?!#?\w+;)/g , '&amp;' ).  
  7.     replace( /"([^"]*)"/g   , '“$1”'  ).  
  8.     replace( /[<>…“”‘’—–]/g , function ( $0 ) {  
  9.         return hash[ $0 ];  
  10.     });  

并表示:缺陷也很明显,如哈希的键必须是简单的普通字符串,不能是复杂正则,这就是我们不得不分开的原因。replace在老一点的浏览器是不支持function的。为此,我们只好放弃上面最后那个replace方式,替换方统一为普通字符串。

于是,他扩展的String的基类,添加了一个方法:

JavaScript代码
  1. String.prototype.multiReplace = function ( hash ) {  
  2.     var str = this, key;  
  3.     for ( key in hash ) {  
  4.         if ( Object.prototype.hasOwnProperty.call( hash, key ) ) {  
  5.             str = str.replace( new RegExp( key, 'g' ), hash[ key ] );  
  6.         }  
  7.     }  
  8.     return str;  
  9. };  

并给出了实现代码:

JavaScript代码
  1. str = str.multiReplace({  
  2.     '&(?!#?\\w+;)' :'&amp;',
        '"([^"]*)" : '“$1”',
        '<' : '&lt;' ,
        '>' : '&gt;',
        '…' : '&hellip;',
        '“' : '&ldquo;' ,
        '”' : '&rdquo;' ,
        '‘' : '&lsquo;' ,
        '’' : '&rsquo;' ,
        '—' : '&mdash;',
        '–' : '&ndash;'

  3. });  

Look,多简单啊。如果觉得我这里的表示更简单的话,请看原文http://www.cnblogs.com/rubylouvre/archive/2009/10/12/1581094.html

一位前辈的信件

    缘聚缘散!
    原以为找到了家可以好好发展的公司,曾经把在XX的这份工作当作事业来做,可到头来只是一份工作。我不是老板,只是一枚被任意摆放的棋子。这些年来为了生活吃过不少苦,可我不怕,因为我不是一个怕吃苦的人,在XX打拼的日子也就这么熬下来了。日日加班,周末、春节等节假日不是在外面跑市场跑业务就是在家里做资料。那时能按时回家是一种被奢望甜蜜的幸福。
    我们从零开始做业务,后来来了新人,新人什么都不会,就一对一手把手地教和带。那段日子我的前任老板要我帮她照顾国外的公司任经理并要给我加薪,为了能在XX有序地发展我婉言拒绝了。我不能说我很能干,但至少我不是个会偷懒的人。再后来部门来了新经理把部门弄得乱哄哄之后被辞退了,那段日子被新领导每个月都有好几次的任务改动弄得精疲力竭,这样持续了半年新经理走了。来了新总监,总监一来让大家感觉他是个非常非常有人情味的人,和大家关系搞得非常好,可谁知那时我们已经在吃糖衣子弹了。
    一朝天子一朝臣,总监(男)一个月后带进了一个内勤主管(女)。我们可以说部门现在是夫妻档的家庭式管理,部门里所有的事由这两人商量后决定。也就是说这两人说了算。这两人自从进部门之后的最初一段日子里经常在一起午餐。主管接二连三地迟到,最厉害的一次是10:45到公司的,来了之后象没事假的。有时午餐后主管就不见影了。一次我们周一13:30要开会,在上周五就定下的,结果13:07分收到内部邮件说是部门会议改到周二进行。主管人呢?结果是15:50到的公司,一回来就说:“医院人好多呵”。哦,原来是去医院看病了。这样事发生过二次。如果不是关系异常密切,如果换成是我们,总监会笑着让大家改开会日期吗,呵呵,都知道他的脾气。部门里一共没几个人,总监(男)数叫内勤主管(女)最勤快,且每次都是异常乐呵。
    公司为了发展空降本是件好事。目前公司的空降兵的比例,特别在高管中的比例早已占到绝大多数。公司的文化早已没了踪影,老员工们一个一个被空降砍掉,如果偷懒的自然不会有二话。
    还留在XX的新人们、半元老们,请看清XX公司的真面目。他们是需要你们的时候请你工作,哪怕你做得再认真再努力,到空降兵来时(或者他们带来的内人们嫡系们来时)照样把你清理掉。XX是个没有人情味的公司。聪明的,现在开始行动寻找新的方向吧!如果你有能力,不怕找不着方向;如果你能力不够,那就学会拍马屁吧,在XX不需要能力。我们的内勤主管就可以整天上网聊天、聊去哪里吃、玩、穿,她可以一天坐在那里什么都不用做指手划脚地命令我们做好了资料上交给她。这些日子,总监和这内勤主管学会了不少,都是我们这些前辈们教的,现在利用完了,开始一个一个踢和砍。这是在XX的日子里看到一幕又一幕故事得到的结论,所以请不要以为我是在做主观性的结论。
    在这里,我看到了“笑着砍你”并且“你还要感激他(她)”;看到了人见人爱的笑里藏刀者风范。
 
                                                      XX前辈行前留言

Tags: xx网, 辞职, 空降, 感慨