基于jquery实现拆分姓名的方法(纯JS版)


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]; 
} 
});
Javascript 相关文章推荐
jQuery实用基础超详细介绍
Apr 11 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
Jul 29 Javascript
详解JavaScript数组和字符串中去除重复值的方法
Mar 07 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
省市联动效果的简单实现代码(推荐)
Jun 06 Javascript
深入浅析JavaScript函数前面的加号和叹号
Jul 09 Javascript
js获取ip和地区
Mar 10 Javascript
VUE2.0中Jsonp的使用方法
May 22 Javascript
详解javascript中的变量提升和函数提升
May 24 Javascript
如何阻止小程序遮罩层下方图层滚动
Sep 05 Javascript
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 Javascript
layui 实现加载动画以及非真实加载进度的方法
Sep 23 Javascript
jQuery cdn使用介绍
May 08 #Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 #Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
May 08 #Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
May 08 #Javascript
jquery插件validate验证的小例子
May 08 #Javascript
jQuery ui插件的使用方法代码实例
May 08 #Javascript
js模拟select下拉菜单控件的代码
May 08 #Javascript
You might like
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
深入php内核之php in array
2015/11/10 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python算法应用实战之队列详解
2017/02/04 Python
Python 装饰器深入理解
2017/03/16 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
PyTorch的torch.cat用法
2020/06/28 Python
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
客户代表自我评价范例
2013/09/24 职场文书
程序员岗位职责
2013/11/11 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
小学教研工作总结2015
2015/05/13 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书