基于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 相关文章推荐
一个判断email合法性的函数[非正则]
Dec 09 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
May 10 Javascript
详解JavaScript的表达式与运算符
Nov 30 Javascript
关于webpack2和模块打包的新手指南(小结)
Aug 07 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
详解.vue文件中监听input输入事件(oninput)
Sep 19 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
JS实现将二维数组转为json格式字符串操作示例
Jul 12 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
Oct 02 Javascript
JSON生成Form表单的方法示例
Nov 21 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
原生js实现自定义消息提示框
Nov 19 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
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
js html实现计算器功能
2018/11/13 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
大学本科毕业生的自我鉴定
2013/11/26 职场文书
2015年共青团工作总结
2015/05/15 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书