Posted in Javascript onMay 08, 2013
之前已经分享过一个在dom中用户输入姓名后自动用js拆分成姓与名到表单中的jquery插件,由于项目的需要,需要一个在客户端自动拆分,但不需要将拆分结果呈现给用户的方法,所以又写了一个独立的方法,贴出来跟大家分享交流
$.extend({ splitName: function(fullname){ var hyphenated = ['欧阳','太史','端木','上官','司马','东方','独孤','南宫','万俟','闻人','夏侯','诸葛','尉迟','公羊','赫连','澹台','皇甫', '宗政','濮阳','公冶','太叔','申屠','公孙','慕容','仲孙','钟离','长孙','宇文','城池','司徒','鲜于','司空','汝嫣','闾丘','子车','亓官', '司寇','巫马','公西','颛孙','壤驷','公良','漆雕','乐正','宰父','谷梁','拓跋','夹谷','轩辕','令狐','段干','百里','呼延','东郭','南门', '羊舌','微生','公户','公玉','公仪','梁丘','公仲','公上','公门','公山','公坚','左丘','公伯','西门','公祖','第五','公乘','贯丘','公皙', '南荣','东里','东宫','仲长','子书','子桑','即墨','达奚','褚师']; var vLength = fullname.length; var lastname = '', firstname = '';//前为姓,后为名 if(vLength > 2){ var preTwoWords = fullname.substr(0, 2);//取命名的前两个字,看是否在复姓库中 if($.inArray(preTwoWords, hyphenated) > -1){ lastname = preTwoWords; firstname = fullname.substr(2); }else{ lastname = fullname.substr(0, 1); firstname = fullname.substr(1); } }else if(vLength == 2){//全名只有两个字时,以前一个为姓,后一下为名 lastname = fullname.substr(0, 1); firstname = fullname.substr(1); }else{ lastname = fullname; } return [lastname, firstname]; } });
基于jquery实现拆分姓名的方法(纯JS版)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@