Java程序员:一刻钟精通正则表达式作者: fuyj
发布: 2008.12.12
打印
发送邮件
想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学习经验。
开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:
"^The": 开头一定要有"The"字符串;
"of despair$": 结尾一定要有"of despair" 的字符串;
那么,
"^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。
"notice": 匹配包含notice的字符串。
你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式)
可以出现在被检验字符串的任何地方,你没有把他锁定到两边。
接着,说说 '*', '+',和 '?',
他们用来表示一个字符可以出现的次数或者顺序. 他们分别表示:
"zero or more"相当于{0,},
"one or more"相当于{1,},
"zero or one."相当于{0,1}, 这里是一些例子:
"ab*": 和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串("a", "ab",
"abbb", 等);
"ab+": 和ab{1,}同义,同上条一样,但最少要有一个b存在 ("ab", "abbb", 等.);
"ab?":和ab{0,1}同义,可以没有或者只有一个b;
"a?b+$": 匹配以一个或者0个a再加上一个以上的b结尾的字符串.
要点, '*', '+',和 '?'只管它前面那个字符.
你也可以在大括号里面限制字符出现的个数,比如
"ab{2}": 要求a后面一定要跟两个b(一个也不能少)("abb"
;
"ab{2,}": 要求a后面一定要有两个或者两个以上b(如"abb", "abbbb", 等.);
"ab{3,5}": 要求a后面可以有2-5个b("abbb", "abbbb", or "abbbbb"
.
现在我们把一定几个字符放到小括号里,比如:
"a(bc)*": 匹配 a 后面跟0个或者一个"bc";
"a(bc){1,5}": 一个到5个 "bc."
还有一个字符 '│', 相当于OR 操作:
"hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;
"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;
"(a│b)*c": 匹配含有这样多个(包括0个)a或b,后面跟一个c的字符串;
一个点('.'
可以代表所有的单一字符,不包括"\n"
如果,要匹配包括"\n"在内的所有单个字符,怎么办?
对了,用'[\n.]'这种模式.
"a.[0-9]": 一个a加一个字符再加一个0到9的数字
"^.{3}$": 三个任意字符结尾 .
中括号括住的内容只匹配一个单一的字符
"[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样);
"[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样);
一般我们都用[a-zA-Z]来指定字符为一个大小写英文
"^[a-zA-Z]": 匹配以大小写字母开头的字符串
"[0-9]%": 匹配含有 形如 x% 的字符串
",[a-zA-Z0-9]$": 匹配以逗号再加一个数字或字母结尾的字符串
你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 作为开头 "%[^a-zA-Z]%"
匹配含有两个百分号里面有一个非字母的字符串.
要点:^用在中括号开头的时候,就表示排除括号里的字符。为了PHP能够解释,你必须在这些字符面前后加'',并且将一些字符转义.
不要忘记在中括号里面的字符是这条规路的例外?在中括号里面, 所有的特殊字符,包括(''
, 都将失去他们的特殊性质
"[*\+?{}.]"匹配含有这些字符的字符串.
还有,正如regx的手册告诉我们: "如果列表里含有 ']', 最好把它作为列表里的第一个字符(可能跟在'^'后面).
如果含有'-', 最好把它放在最前面或者最后面, or 或者一个范围的第二个结束点[a-d-0-9]中间的‘-’将有效.
看了上面的例子,你对{n,m}应该理解了吧.要注意的是,n和m都不能为负整数,而且n总是小于m. 这样,才能
最少匹配n次且最多匹配m次. 如"p{1,5}"将匹配 "pvpppppp"中的前五个p.
下面说说以\开头的
\b 书上说他是用来匹配一个单词边界,就是...比如've\b',可以匹配love里的ve而不匹配very里有ve
\B 正好和上面的\b相反.例子我就不举了
.....突然想起来....可以到http://www.phpv.net/article.php/251 看看其它用\
开头的语法
好,我们来做个应用:
如何构建一个模式来匹配 货币数量 的输入
构建一个匹配模式去检查输入的信息是否为一个表示money的数字。我们认为一个表示money的数量有四种方式:
"10000.00" 和 "10,000.00",或者没有小数部分, "10000" and "10,000".
现在让我们开始构建这个匹配模式:
^[1-9][0-9]*$
这是所变量必须以非0的数字开头.但这也意味着 单一的 "0" 也不能通过测试. 以下是解决的方法:
^(0│[1-9][0-9]*)$
"只有0和不以0开头的数字与之匹配",我们也可以允许一个负号在数字之前:
^(0│-?[1-9][0-9]*)$
这就是: "0 或者 一个以0开头 且可能 有一个负号在前面的数字."
好了,现在让我们别那么严谨,允许以0开头.现在让我们放弃 负号 , 因为我们在表示钱币的时候并不需要用到. 我们现在指定
模式 用来匹配小数部分:
^[0-9]+(\.[0-9]+)?$
这暗示匹配的字符串必须最少以一个阿拉伯数字开头. 但是注意,在上面模式中 "10." 是不匹配的, 只有 "10" 和
"10.2" 才可以. (你知道为什么吗)
^[0-9]+(\.[0-9]{2})?$
我们上面指定小数点后面必须有两位小数.如果你认为这样太苛刻,你可以改成:
^[0-9]+(\.[0-9]{1,2})?$
这将允许小数点后面有一到两个字符. 现在我们加上用来增加可读性的逗号(每隔三位), 我们可以这样表示:
^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{1,2})?$
不要忘记 '+' 可以被 '*' 替代 如果你想允许空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’\’
在php字符串中可能会出现错误 (很普遍的错误).
现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money)
然后在把类型看成 double然后我们就可以通过他做数学计算了.
再来一个:
构造检查email的正则表达式
在一个完整的email地址中有三个部分:
1. 用户名 (在 '@' 左边的一切),
2.'@',
3. 服务器名(就是剩下那部分).
用户名可以含有大小写字母阿拉伯数字,句号 ('.'
, 减号('-'
, and 下划线 ('_'
.
服务器名字也是符合这个规则,当然下划线除外.
现在, 用户名的开始和结束都不能是句点. 服务器也是这样.
还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式:
^[_a-zA-Z0-9-]+$
现在还不能允许句号的存在. 我们把它加上:
^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$
上面的意思就是说: "以至少一个规范字符(除了.)开头,后面跟着0个或者多个以点开始的字符串."
简单化一点, 我们可以用 eregi()取代 ereg().eregi()对大小写不敏感, 我们就不需要指定两个范围
"a-z" 和 "A-Z" ? 只需要指定一个就可以了:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*$
后面的服务器名字也是一样,但要去掉下划线:
^[a-z0-9-]+(\.[a-z0-9-]+)*$
好. 现在只需要用”@”把两部分连接:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$
这就是完整的email认证匹配模式了,只需要调用
eregi(‘^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$
’,$eamil)
就可以得到是否为email了.
正则表达式的其他用法
提取字符串
ereg() and eregi() 有一个特性是允许用户通过正则表达式去提取字符串的一部分(具体用法你可以阅读手册).
比如说,我们想从 path/URL 提取文件名 ? 下面的代码就是你需要:
ereg("([^\\/]*)$", $pathOrUrl, $regs);
echo $regs[1];
高级的代换
ereg_replace() 和 eregi_replace()也是非常有用的:
假如我们想把所有的间隔负号都替换成逗号:
ereg_replace("[ \n\r\t]+", ",", trim($str));
最后,我把另一串检查EMAIL的正则表达式让看文章的你来分析一下.
"^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$"
如果能方便的读懂,那这篇文章的目的就达到了.
查看评论 (0)
Spring2.0和EJB3.0随谈作者: fuyj
发布: 2008.12.12
打印
发送邮件Spring2.0和EJB3.0随谈
Spring自从2003年发布以来,一直是Java开源框架的奇迹之一。从2000年开始,伴随着B/S架构逐渐引入企业应用软件开发的领域,Java就逐渐成为企业应用开发的主流技术,一直到2003年,Struts+EJB一直是Java技术架构的不二选择,然而这一切随着2003年Spring以without EJB的面目出现之后,一切都开始改变。
大概从2003年下半年开始,Spring+Hibernate就开始甚嚣尘上,似乎那时候的Spring和Hibernate尚且不足以动摇J2EE规范以EJB为核心的领袖地位。但是2004年5月份,吸收了Spring/Hibernate框架优点的EJB3 JCP委员会的成立,事实上宣判了Spring对EJB2的终结,EJB3则更像是Vendor们的一种自救行为。
2004年到2006这三年时间以来,Spring取得了相当辉煌的成就,不但将EJB2赶进历史,而且牢牢确立了Spring作为Java企业应用开发的主流地位。而今,甚至对技术比较保守的金融电信行业,也开始言必称Spring,Spring已经成为Java框架的事实标准。
在2004年5月份之后,Hibernate Team开始和Spring公然决裂,这个事情放在两年多以后的今天来看,原因是昭然若揭的,背靠JBoss的Hibernate Team已经成为EJB3规范的一部分,而JBoss希望力推的以EJB3为核心的Java架构来成为未来的企业应用主流标准,这种情况演变至今,变成了Springframework和JBoss Seam的两种不同技术架构的竞争关系。
2004年5月份,EJB3规范的起步,对Spring未来其实有很大的威胁,但是EJB3规范历经两年时间的难产,终于在2006年5月正式发布之时,已经为时过晚了,抬眼望去,已尽是spring的天下。
有意思的是,大致展望一下未来,Java的企业应用开发还能遵循Sun和JCP制订的Java EE规范的道路走下去吗?如果不是这样,那么未来道路是什么呢?
观察一下Java社区几股大的势力,会发现一些有意思的现象:
IBM和BEA是Java社区的领导者,从2004年开始,IBM和BEA开始大肆宣传SOA,将他们的目光从应用服务器领域挪到了松藕合企业服务领域,开展SOA商业战略。与此同时,EJB3专家委员会的领导者也悄然变成了JBoss和Oracle,是IBM和BEA无力争取吗?当然不是。IBM和BEA已经看到了应用服务器市场和底层框架平台即将被开源占领,商业价值萎缩,因而审时度势进行战略转型。一方面押宝SOA战略,大肆炒热和培育SOA市场,另一方面也积极占领开源市场,IBM放出来WebSphere社区版本-Apache Geronimo,BEA干脆和Spring的咨询公司interface21合作,提供spring框架在WebLogic上的商业技术支持,如今EJB3对于他们来说已经形同鸡肋,就抛给别人嚼吧。
将EJB3当块宝的自然是应用服务器市场的跟随者JBoss和Oracle,一方面凭借ORM的先天优势,另一方面有出头机会也不能放过,EJB3委员会几乎成了JBoss和Oracle的天下。特别是JBoss,更加积极推出JBoss Seam框架,希望确立以JSF+EJB3的架构树立Java开发的标准,用以取代Struts/Spring/Hibernate的流行组合,因而开启了EJB3和Spring 正面交锋的战争。
Java Vendor中另外一股势力Sun公司这两年则一直自顾不暇,在应用服务器领域几乎退出市场,直到最近才搞出来一个Glassfish,在开发框架领域也一直毫无建树,推出的JSF至今还很不成熟,难担大任,也许Sun都去忙着开源Solaris和JVM源代码了。
几个大的Vendor或战略转型,或自顾不暇,或忙于收购(Oracle),Java开发领域的主战场被打扫一空,对决的双方换成了Spring和JBoss。对决的武器则是spring vs Seam。
Spring代表了不遵循通用标准,自己制订游戏规则,不依赖容器的一方;JBoss代表了遵循通用标准,但是锁定容器的一方。这场对决从2004年5月就开始上演,未来很长时间也会继续下去。不过Spring已经站在优势很大的地位上了。
大致对比一下两者:Spring vs EJB3,就会发现Spring从功能上面已经胜出很多了:
1、IoC容器spring胜出
Spring的IoC容器很强大,其bean管理功能超过了目前EJB3容器,配置方面Spring稍微复杂一些。不过对于全局性配置来说,XML要优于EJB3的annotation。
2、AOP能力Spring胜出
EJB3目前提供的AOP功能非常简单,本来已经无法和Spring相比,至于集成AspectJ的Spring2.0,就更加望尘莫及了。
3、事务管理方面EJB3稍微领先
Spring提供了很棒的本地事务模型,也可以集成JTA,但是不支持分布式事务,当然这种场景也非常罕见。
4、Web框架spring胜出
EJB3标准集成JSF,但是JSF并不成熟,和AJAX配合度也不好。Spring可以灵活集成各种Web框架和模板语言,自身也提供了相当强大的MVC框架,要是这还觉得不够,那么spring webflow,portlet support都拿出来。
5、远程访问支持,大致持平
EJB3继承了传统的EJB远程访问能力,Web Services支持也不错;不过Spring提供了更多更灵活的选择,Java RPC,HTTP Invoker,Hessian/Burlap,WebServices。
6、框架集成能力,spring胜出
这是spring的传统优势项目,只要看看spring modules项目,看看n多第三方spring支持,就会发现spring现在的群众基础多么好,集成工作流,spring modules已经提供了方便的模板类,集成规则引擎,Cache,CMS,脚本语言,异步任务,安全验证框架。。。。。。EJB3有点望尘莫及的味道
7、JMS,JMX,JCA等,EJB3领先一步
这些传统EJB优势项目往往应用的不太多,EJB3仍然是领先的。不过令人侧目的是,Spring最近几个版本在连续追赶EJB这些传统优势领域,到Spring2.0为止,其JMS,JMX,JCA支持已经相当不错了,可以说传统EJB能够做的,现在Spring也可以做得到。
这几年除了Spring框架自身不断完善和延伸到传统应用领域,围绕在Spring周围的第三方框架也是越来越丰富,EJB3在annotation方面有些独到的优势,在一些传统领域,还领先spring,但是总体来说,EJB3为核心的J2EE5.0规范很难和Spring现在的2.0相匹敌,更何况Java的主力Vendor早已醉翁之意不在这里了,单凭JBoss的Seam,难以战胜spring。
目前JBoss已经开始在国内进行商业上的推广,也希望以其EJB3技术来和Springframework相抗衡,JBoss目前用来说服客户使用EJB3的理由主要有两点:
1、EJB3是一个标准,由多个厂商提供实现
2、JBoss的EJB3由Red Hat公司及其合作伙伴提供技术支持,而springfrmework在国内还没有商业技术支持
查看评论 (0)
JAVA通过Session和Cookie实现网站自动登录的技术.TXT作者: fuyj
发布: 2008.12.12
打印
发送邮件login.jsp
代码:
String host = request.getServerName();
Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); // 保存用户名到Cookie
cookie.setPath("/"
;
cookie.setDomain(host);
cookie.setMaxAge(99999999);
response.addCookie(cookie);
if (ParamUtils.getBooleanParameter(request, "savePassword"
) {
// 保存密码到Cookie,注意需要加密一下
cookie = new Cookie("SESSION_LOGIN_PASSWORD", MD5.encode(u.getPassword()));
cookie.setPath("/"
;
cookie.setDomain(host);
cookie.setMaxAge(99999999);
response.addCookie(cookie);
}这样,Cookie就生成了
第二步,在用户访问网站的时候,如果检测到没有登陆,则进行下面的判断。
index.jsp
代码:
String usernameCookie = null;
String passwordCookie = null;
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("SESSION_LOGIN_USERNAME".equals(cookie.getName())) {
usernameCookie = cookie.getValue(); // 得到cookie的用户名
}
if ("SESSION_LOGIN_PASSWORD".equals(cookie.getName())) {
passwordCookie = cookie.getValue(); // 得到cookie的密码
}
}
if (usernameCookie != null && passwordCookie != null) { // 如果存在
if(Login.checkLogin(usernameCookie ,passwordCookie)){
// 登陆成功的处理
}else{
// 登陆不成功的处理
}
}
}最后一个注意事项,应该在退出登录里面清除cookie,以免他无法换账号登陆了!
logout.jsp
代码:
cookie = new Cookie("SESSION_LOGIN_PASSWORD", ""
;
cookie.setPath("/"
;
cookie.setMaxAge(99999999);
cookie.setDomain(host);
response.addCookie(cookie);
查看评论 (0)
THEM2方法的几点说明 作者: fuyj
发布: 2008.10.06
打印
发送邮件THEM2方法把呼叫中心看成是由技术(Technology)、人(Human)、环境(Environment)、管理(Management)组成的整体。这个方法的图示是一个十字架(见图一),M之上的2字的意思是说,所考虑的管理包括战略管理(Strategic Management)和运营管理(Operational Management)两个层面
点击查看...查看评论 (0)
十种奖赏员工的方法作者: fuyj
发布: 2008.10.06
打印
发送邮件如果使用得当,员工奖赏方案将是强有力的工具。根据Recognition Professionals International的调研,“当正式的、非正式的或日常的奖赏策略与企业的价值和目标连接时,会在公司中制造出一种奖赏文化氛围,使得员工敬业度、绩效和保留率都得到提升。
即刻的奖赏可以帮助员工投入工作,并且在他们的角色与公司整体目标之间建立连接。当这些奖赏对员工们产生持续的作用时,可以稳固员工们积极工作的态度。
这里有10个技巧,可以帮助您的企业找到行之有效的员工奖赏方案。
点击查看...查看评论 (0)
畅想未来的绿色呼叫中心作者: fuyj
发布: 2008.10.06
打印
发送邮件畅想未来的绿色呼叫中心
——呼叫中心十大发展趋势
图一:欧洲最佳呼叫中心环境大奖得主:维也纳CCC呼叫中心
图二:真正的绿色呼叫中心
图三:绿色之外的色彩:灰黑白
图四:美国某专业呼叫中心别具一格的“盆地式”话房
图五:创新源于对生活的热爱:咖啡馆里的创意造型
图六:自助式服务无处不在:肯尼迪机场自助呼叫酒店接机
非常欣慰看到本期《客户世界》以呼叫中心环境话题来探讨如何让“绿色呼叫中心”蔚然成风,笔者先分享几个近期考察的观感。
不久前在美国参观一家大型呼叫中心时,蓦然看到了非常罕见的“盆地式话房”,感觉颇为新鲜。走进话房,扑面而来就看见一个开阔的空间,从内而外,自下而上,犹如梯田,一圈一圈形成环绕式座席区间,班长坐在“盆地”的“谷底”,抬头就看见座席代表区域。此设计一反常规,不仅别致,更有其特殊的功能,那就是减少人员走动带来的干扰,让每位座席代表更加专注于自己的工作,不被打扰。
“盆地式”设计还有一个好处就是层高相对更高,坡度的设计使得视觉空间开阔,层次分明,不会产生“纵横阡陌井字格”的单调沉闷感,令本来枯燥的话务工作凭添一分“灰色”。
之后在韩国参观另外一家呼叫中心时看见员工脚下均摆放一个小电扇,又觉得不解。后来发现原来在空间吊顶不够高的情况下,为了弥补新风量不足,电扇可以加快空气流通,增强客服人员的舒适感。
去年年底,笔者在整理不同类型呼叫中心的环境规划和管理心得时,曾经思考过一个有趣的问题:十年后,我们的呼叫中心会怎样?
也许很多朋友会说:呼叫中心这个压力大、管理难度高的行业,我大概很难坚持十年还有热情,十年以后的事情跟我没什么关系啊。
其实,无论行业在如何变化,技术在如何更新,十年后相当一部分呼叫中心极有可能还是今天这个样子,因为笔者看到过一些呼叫中心,它们的环境的的确确跟十年前没有大的分别。
原因是什么?
就是所有座席数不再增加或者开始减少的国家,他们都走入一个成熟期,走入一个相对稳定,人员粘稠(相对于流动而言),不太需要或者不太崇尚创新的阶段。对于成熟的呼叫中心而言,环境规划的创新往往需要更多考虑成本而非增值。
举个例子,在韩国,经历了将近二十年的发展特别是五年前的高速成长期,近年来座席数不再增长,扩容和搬迁非常有限,很多从事呼叫中心设备的系统集成商大浪淘沙,经历了转业或倒闭的洗礼。从业人员年龄在30岁左右,平均在岗服务年限超过三年,几乎清一色女性客服人员。行业进入稳定成熟期后,需要的不再是大刀阔斧的创新式规划,相反,精益求精的管理流程,不断提高从业人员技能等软能力逐步被提高到新的日程表,成为管理者新的挑战。
回头看国内近两年翻天覆地的变化,日新月异的创新成果,一个个漂亮舒适的话房不断成为人们津津乐道的话题。市场的成长,造就了这样的机遇和平台,让我们这些处于这个时代的人有机会把老式的话房彻底翻新,有机会设计和规划出全世界最耀眼的呼叫中心。
然而,如果你不打算融入这个趋势做些什么,也许,十年后你的话房跟今天相比不会有太多分别。未来的呼叫中心从规划来看,必然走向高中低的定位,即高端的呼叫中心提供最完善的功能和人性化设施,吸引最昂贵的员工,服务最高端的客户;低端的呼叫中心不断追求成本的控制,采用基本的设计和规划,满足最基本的“人性化”需求(噪音控制和新风质量,如果这两点都做不到的呼叫中心将是不合格的和不健康的呼叫中心);介于高端和低端之间的通常是为数最多的中档呼叫中心。
了解未来,可以帮助我们把握现在的机会。笔者在横向比较各国现阶段呼叫中心规划的实践案例中,对未来五年行业发展特别是“绿色呼叫中心”走势预测如下:
趋势一:大型产业园区的建立打造新的行业标准
在班加罗尔、马尼拉、新加坡等地以及我国均有呼叫中心的产业园区,这里的话房从层高到新风,从配套到设施都是服务于专业呼叫中心的。标准化的设计、规划和建设,推动产业走向成熟。菲律宾式的自接单开始一个月开通一个大型呼叫中心的神话将在中国得以实践,行业更加标准化作业,客服水平也有透明度,特别是跨行业的横向比较使得“服务短板“无处可逃。
趋势二:大型化+整体化
大型呼叫中心林立将推动专业化的具有行业特色的整体空间布局规划,传统“排排坐,吃果果”的“办公室式话房”越来越限制功能性和人性化的延伸,逐步成为企业环境规划课题面前的“鸡肋”,敢于和善于对话房进行“升级换代”的举动将会数不胜数,而且不分行业,呈现集中提升的趋势。
趋势三:功能化+人性化
功能性的设计仍然主导行业趋势,功能区隔的规划,如话务区,休息区,走动区,培训区等层次的设计更加立体和鲜明。同时人性化的多元设计概念进入一个新的创新阶段,员工将有幸享受在家办公的轻松感。“我的角落,我的天地”会成为企业吸引员工和激励员工的砝码。
趋势四:文化元素悄然流行
在国内某大型呼叫中心里看到了漂亮的牡丹图,在国外一些话房的走廊里看见威尼斯“刚朵拉”的油画,一些与企业文化并行的艺术元素,能够让员工身心轻松的室内布置会悄然流行。允许员工把自己设计和制作的工艺品、手工作品展示出来,展现员工在本职工作之外的创造力,将极大地激励员工“爱岗敬业”的服务理念,并进一步固化成为良好的专业素养和工作习惯。
趋势五:健康的配套设施和健康习惯
不少大型呼叫中心已经建立了健身房、运动室和棋牌室,未来这类设施会更加普及。针对员工的保健知识辅导、心理减压咨询,自助式健康俱乐部会应运而生。话房就是一个“小社会”,个性化的健康环境和健康理念会普及到人,员工的稳定性会极大地提高,管理者忙于招人乐此不疲的现象也会逐渐演化为系统化的管理,包括科学的招聘和递进式培养模式。同时员工的自我保护意识明显增强,特别是随着从业年限增加,避免职业病的烦恼成为员工了解健康保护知识的动力。
趋势六:从统一的集中式座席到松散的分布式座席
IP电话技术的普及使得分散式呼叫中心成为美国行业的趋势,这类呼叫中心提供从业者更大的弹性工作时间和空间,便于他们工作和家庭的平衡。随着从业人员稳定性增加,适婚人群比重上升,中国呼叫中心将迎来行业的生育高峰。如何让优秀的业务人员安心生育,产后愉快地重返工作岗位,将是企业文化和人文关怀的重要课题。有所准备才会有所创新。适当增加男性员工的比例将有效地缓解由于生育高峰而产生的人手短缺问题。增加分布式座席并允许部分特殊员工在家办公也是潮流所趋。
趋势七:从业人员预备班和培训学校
印度的呼叫中心行业正经历着高速发展和快速成熟的阶段,行业的人才培养和储备也具有“仓储式+一站式”特点,即技能的标准化,从业资质的审核,都为人才的快速招聘和替代提供了条件。维也纳CCC呼叫中心的客服人员平均年龄20岁,平均从业时间不到一年,原因是大部分员工是大学生从事兼职话务工作。完善的培训体系使得这种高度流动的用人机制不会削弱客服质量,反而由于一流的环境配套,良好的待遇,成为年轻人趋之若鹜的就业场所。未来的职校将有机会提供专业的客服人员贮备班或者定向培养班,为企业源源不断输送专业的人才。
趋势八:客服人员向其它服务行业的正向人才流动
成熟和发达国家对客服的跨行业认可度相当高,原因是社会普遍认可服务行业的价值并愿意付费购买服务。这样一来,从呼叫中心离开的客服人员完全可以在另一个服务行业找到自己新的事业支点,在呼叫中心练就的“十八班武艺”完全可以有新的作为。呼叫中心从业人员不必担心自己的职业发展,可以更加安心于本职工作,不管学习和提高,行业的浮躁、压力、紧张的氛围将有所缓解。
趋势九:呼叫中心中高级管理者的流动将呈现上升趋势
随着产业的进一步成熟,优秀的中高级呼叫中心管理者将成为市场竞相争夺的宝贵稀缺资源,专业人才的市场化时代已经来到。企业能否为优秀管理者提供充分施展才华的平台,能否积极认可其为企业和品牌的贡献,以及是否可以投放资源让其规划一个不断进步的高端呼叫中心,将直接影响这些优秀人才对企业的忠诚度。
趋势十:产业横向价值链不断延长,促进“服务为服务”的新兴市场成长
越来越多为呼叫中心提供配套设施和设备的产品和解决方案将涌入行业,成为一道亮丽的风景线,比如专业的除尘服务,绿化服务,卫生服务,心理辅导,产业园区的交通服务,餐饮,娱乐,旅游,等等,凡是能够让呼叫中心客服人员愉快工作,高效工作的配套服务都会应运而生,成为服务于“红花”的片片“绿叶”。
我们离成熟到底还有多远?
就像一个孩子,永远幻想自己长大后的样子,虽然大部分的幻想跟长大后的情形不尽相同,包括我们儿时的理想,希望从事的职业,然而这并不能阻止我们继续幻想,或者是涌现新的理想。人类是从没有幻想进化到能够幻想,并进一步实现幻想的。
笔者回到关于绿色呼叫中心的思考,今天我们的一线管理者在规划布局时是否考虑到了未来五年的需求?
预测自问题:
- 我们是否能够预见未来五年企业或品牌的核心客户群对服务的期望值?
- 我们是否可以预测未来五年员工(客服顾问,未来对客服人员的称呼)的特点?如何招聘们?如何培训他们?如何培养他们?如何应对生育高峰?
- 我们是否可以预测未来五年自助服务的比重有多大?网络对服务质量和客户反馈的影响?
- 未来五年我们话房的色调是绿色的还是灰色的,抑或是白色的?杂色的?
- 未来五年是否有可能在家办公?或者实行弹性排班工作制?
- 未来五年你的呼叫中心是否可以吸引同行业最优秀的人才?何以做到?
- 未来五年你的呼叫中心是否可以吸引跨行业最优秀的人才?何以做到?
- 未来五年你的呼叫中心是否有机会成为花园式话房,在鸟语花香中接听客户电话?
- 未来五年你的呼叫中心是否人人都可以移动办公?不再被束缚在话机面前?
- 未来五年,是否会经常看到反映客服生活的主旋律电视剧或电影?
在启发大家共同思考和预测未来后,笔者发现,那些最不甘墨守成规,最不愿循规蹈矩的朋友,往往会有超出常人的想像力,同时也最具有创新力和行动力,让梦想成真。
仅以此文献给我们年轻的呼叫中心管理者和辛勤工作在话房一线的可爱的座席天使们,有了你们的奉献,才有了我们茁壮发展的行业今天和未来。
查看评论 (0)
呼叫中心现场的情绪管理 作者: fuyj
发布: 2008.10.06
打印
发送邮件情绪是情感的表现方式,无论你开心或是悲伤,都会通过情绪体现出来,在呼叫中心这样以电话沟通为主要沟通方式的工作机构,我们与客户之间不见面,只通过说话来进行交流,情绪在此中起到了很重要的作用。为此,我曾作过小小的调查,在客户投诉中,有不低于70%的投诉是因为座席代表的态度问题(情绪问题)引起的,有25%的投诉是无理投诉,只有5%是座席代表业务答错导致的投诉。那么,在呼叫中心现场管理中,座席代表的情绪是什么原因引起的呢?不良情绪又会给我们的工作带来的怎样的影响呢?我们该如何调配和管理自己的情绪呢?
点击查看...查看评论 (0)
呼叫中心人力和通信成本的控制 作者: fuyj
发布: 2008.10.06
打印
发送邮件近几年,呼叫中心在我国发展迅速,已经有越来越多的企业认识到呼叫中心的作用,纷纷自建或外包呼叫中心,然而对于这些已经运作的呼叫中心,无论是自建型的还是外包型的,都会面临着相同的困扰—如何有效降低成本。目前,呼叫中心面临的成本主要有人力成本、通讯成本等方面。如何使呼叫中心发挥最大的效应是同行业面临的主要问题,同时也是所有呼叫中心目前急需要解决的。如何有效降低成本主要从以下几个方面着手:
点击查看...查看评论 (0)
呼叫中心的噪音:少些再少些作者: fuyj
发布: 2008.10.06
打印
发送邮件如果要问呼叫中心管理者在众多使用环境方面最棘手的问题是什么的话,我们相信会得到一个相同的答案:“噪音”。至此“降噪”便成了现今呼叫中心环境建设中一个非常重要的课题。
针对这一课题,不少设备的供应商都相继提出了对应的解决方案,比如目前使用的较为广泛降噪功能的耳麦,这种设备,很大程度上抑制了“噪音污染”对呼叫中心环境的影响,也越来越多的被使用单位所接受。但今天我们所要谈的,是在呼叫中心营建初期,以噪音控制理论为基础的空间设计,通过合理使用专业的降噪建筑材料,使呼叫中心的建筑本身具备“降噪”功能。
声音控制(总范畴,噪音控制实为声音控制的一个分支)其实一直被运用在空间设计当中,并且已具备了一整套完整的体系及理论,较为常见的有会场空间、歌剧院空间等一系列对声音有极高要求场所的设计。呼叫中心作为近年来在国内出现的一个新型空间形态,同样对于声音的控制尤其是噪音的控制有着相当高的要求。呼叫中心的空间降噪工程将会给呼叫中心的高效营运带来基础性的帮助
点击查看...查看评论 (0)
大型呼叫中心如何进行手工排班 作者: fuyj
发布: 2008.10.06
打印
发送邮件大型呼叫中心如何进行手工排班
大型呼叫中心普遍面临的六大困难:现场人员管理难、排班难、招聘难、服务一致性难、完成投诉积压难、提升员工工作自豪感难。本篇,笔者将针对呼叫中心该如何进行手工排班这一问题,来和大家分享。
众所周知,呼叫中心管理金三角为“数据——排班——现场管理”。整个金三角以数据为中心,只有基于准确的数据基础,排班师才能做到相对准确的话务预测与人员排班,而现场管理的职责是对排班师的班表做出最圆满的执行。所以,无论是系统排班还是手工排班,准确的数据基础是保证服务水平的关键。
我们一起看看系统排班与手工排班的共同点与不同点:
共同点:
- 以真实的历史数据为基础,数据点需12个月以上(才能看出变化趋势)才能被参考;
- 同一周期内的增长率,如去年X月与今年X月的比较增率(可为负数);
- 同一周期内的季节因素;
- 同一周期内的节假日因素;
- 营销活动影响;
- 重复拨打情况;
- 放弃率(客户主动放弃电话比率);
- 人员损耗(日损耗及时段损耗),如员工请病事假等不可预知的缺勤;
- 排班师经验。
不同点:
系统排班可直接得出话务日/月/年模型,并可随时适当调整话务影响因子,以符合要求。手工排班需手工建立EXCEL表格及公式,数据录入稍有不慎则结果大相径庭。
系统排班往往有固定的班别模式,对于人性化较高或排班限制较多的呼叫中心(如员工班车限制、休假限制等)较不合适,因系统排班往往是为耦合话务量排班,而缺乏人性管理的考虑。而手工排班则可考虑这些人性化因素。
系统排班是科学的排班工具,准确率较高。目前大部分排班软件都是应用爱尔兰C公式进行的话务预测,但爱尔兰C公式是假设客户永远在等待,不会放弃电话的前提下进行运算的,与呼叫中心的实质有较大出入。很少手工排班的呼叫中心排班师会用爱尔兰C公式进行话务预测与话务员人数预测。接下来,笔者将和大家共同探讨手工如何更好地拟合话务量进行排班。
首先,谈谈如何进行话务预测。
一、真实的历史呼入号码数据 真实的、准确的数据是话务预测的基础。我们每天都得到很多数据,呼入量2.1万,服务水平75%/20s等等。如果排班师利用的是这些时/日/月的呼入量数据进行话务量预测,那预测的结果绝对偏离事实。因为这些呼入量是假定在100%接通率,所有电话都在一次内被接起的前提,而事实并非如此,我们的服务水平仍然不高。我们往往很容易忽略了重复拨打率。即2.1万的呼入量里,也许有3000个,甚至5000个都是客户的重复拨打。造成重复拨打的原因有很多,如一次性问题解决率、服务水平等等,其中排班的好坏是主要因素。那这些我们每天看到的数据难道就没有意义了吗?其实不是,它们可以帮助管理者深入分析员工的一次性问题解决率情况及排班师的水平。
排班师在进行话务量预测时,需要用真实的呼入号码数据作为预测基础。真实呼入号码数的定义为客户拨打呼叫中心的号码的个数,反映的是客户的真实需求。即当日呼入量2.1万,但也许有3000个是客户的重复拨打,则真实的客户需求只有1.8万个(假设所有客户当天只有同一个需求)。我们需要取到时段/日的真实呼入号码数,才能得出客户的需求模型。
根据每时段呼入的真实号码数情况,可得出日呼入话务的基础模型,如下图:
根据每周呼入的真实号码数,可得出周呼入话务的基础模型,如下图:
根据每日呼入的真实号码数,可得出月呼入话务的基础模型,如下图:
从以上的日模型、周模型及月模型的数据结果,我们发现该话务具有强烈的日规律与周规律,月规律不明显,但注意到每月月初、6日-10日、月底话务均较高。故在进行手工排班的时候,人员安排要遵守日规律、周规律、月固定忙日来进行调整。
二、同一周期内的增长率 根据手头上已有的真实号码数据,我们可以对比去年与今年的年增长率、月增长率等统一周期内的增长率,从而估算本次排班话务预测的增长话务。也可以从市场部门拿到全年的客户增长计划,估算每月的客户增长率。
三、同一周期内的季节因素 对比去年每个月之间真实号码数受季节因素变化的情况,因季节因素是较为抽象的概念,故多评排班师经验判断。但在呼叫中心工作多年的运营主管会发现,冬天全月的呼入量较夏天要少,冬天早上与晚上的呼入量也较夏天少,客户拨打电话时间集中在白天;而夏天客户的电话可能从一大早一直忙碌到夜晚。这就是存在了明显的季节影响。在做手工排班的时候,排班师需参考历年的数据去判断季节因素的影响,同时在设置班次时也需要考虑到季节因素对客户拨打行为的影响。
四、同一周期内的节假日因素 排班师在进行次月话务预测时,需要考虑到节假日的影响。同样参考历年的节假日真实号码数的变化情况。像元旦、春节、五一、中秋、十一、圣诞、寒暑假等大的节假日,排班师需慎重考虑。在每次重大节假日过后,排班师都需要回顾并且分析节假日话务模型,作为日后排班的有力参考数据。
五、营销活动影响 每月进行排班工作前,排班师需要向业务管理员或市场部了解次月的营销活动情况,是属于常规的营销活动,还是新上线的大型营销活动。每次营销活动后,排班师都需要记录该次活动对话务的影响作为日后参考。同样,在每次排班前,排班师需参考曾经做过的营销活动记录,如遇新上线的影响活动,则需提前做话务影响预判。话务预判工作需和业务管理员共同讨论进行。
六、重复拨打情况 客户的重复拨打行为由很多原因造成,如中继不足、排班安排人数不足、问题没有解决,等等。故每日报表呈现给我们的呼入量数据对排班没有很大的意义。但是,我们不难发现,在大部分常规的日子里(除重大故障影响或重大营销活动影响外),同一周期内的真实号码数与呼入量之间的重复拨打率是基本相近的。排班师根据历史数据,可以分别计算出月/日/时的重复拨打率情况。
做到第六步的时候,排班师基本可以估算出次月的话务情况。我们连贯性地回顾一遍:①根据历史真实呼入号码数的得出话务的日/周/月模型。②参考历年的真实号码数情况,分别计算出同一周期内的增长率、季节影响因素、节假日影响因素。③参考历年的营销活动影响,计算出因营销活动而带来的话务量。④综合以上的数据,得出次月真实号码数预测量。⑤根据历史真实号码数情况,计算出日/时的话务量占比情况。⑥根据预测的次月真实号码总量,按日话务占比及时段话务占比,分配到每天及每时段。⑦根据历史呼入量及真实呼入号码数,计算出月/日/时的重复拨打率情况。⑧将次月的月/日/时预测的真实号码数,乘上月/日/时的重复拨打率,则可得出次月的月/日/时的预测呼入量。
排班师在做好了话务预测后,第二项主要工作就是要进行人员排班了。
一、放弃率(客户主动放弃电话比率) 放弃率映射了客户等待的耐心度,一般呼叫中心的放弃率为2%-5%之间,甚至有更高的。虽然我们理解这部分放弃来话的客户也是属于有需求的(在真实呼入号码数里就有体现),但由于客户在未得到话务员服务之前主动放弃了电话,则相当于在等待服务的过程中呼损了。呼叫中心的客户放弃率一般都较为稳定,我们可以剔除掉这部分的话务需求。即假如预测了5000通的呼入量,放弃率为2%,则我们实际需要去应付的是5000*(1-2%)=4900通。我们在进行人员排班的时候则按4900通的需求进行安排。
二、计算需求话务员人数 排班师根据预测出来的月/日/时D的呼入量,乘以服务水平,再除以当前话务员的平均处理时长(通话均长+整理时长),则可相应得出月/日/时的话务员需求数。但是,我们都知道,话务员不可能满负荷工作的,必然存在一些人员损耗。如出勤损耗(病事假等)、时段损耗(如申请小休等),这些损耗排班师必须额外计算。如日出勤损耗为8%,则需求话务员数要再增加8%。时段损耗也需考虑在内,特别是吃饭前后、交接班前后的时段的人员损耗。这样才能保证时段接通率的平滑过渡。很多时候我们会发现某些时段的服务水平很低,但排班没有问题,人员也都在岗位上,是什么原因导致该时段的服务水平低呢?通过数据报表,我们不难发现是员工的通话利用率很低,大都在申请小休或整理工单。这些员工虽然在岗位上,却没有从事有效生产的活动。这就需要排班师需关注到这些特殊时段的人员损耗,同时需提醒现场主管关注这些时段的人员效率,勿让某些时段成为客户的倒霉时段。
排班师在计算了人员需求后,需告诉领导目前的人力资源状况是盈还是亏,并告知领导根据目前的人力资源现状,服务水平是否可以达标。
三、班次设计 排班师根据计算出来的每日各时段需求人数及日需求人数,综合考虑公司的人性化排班要求,设计出相应的班次。应注意的是,最后根据排班师设计出来的班次得出的每时段在线人数与日在线人数,应该是和每时段呼入量及日呼入量的模型是一致的。
以上是对大型呼叫中心如何进行手工排班手工排班了解到的一些方法,科学性不如系统排班强。但是,对目前仍在使用手工排班的呼叫中心,希望能有一些帮助。希望大家可以对大型呼叫中心如何进行手工排班手工排班这个问题进行讨论与分享,以便得出一套更为科学的方法。
查看评论 (0)
对不起, 您所在的用户组无权发表评论!