基于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 相关文章推荐
js中的屏蔽的使用示例
Jul 30 Javascript
Node.js中的流(Stream)介绍
Mar 30 Javascript
详解参数传递四种形式
Jul 21 Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 Javascript
vue中简单弹框dialog的实现方法
Feb 26 Javascript
对angularJs中2种自定义服务的实例讲解
Sep 30 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
在vue中使用jsx语法的使用方法
Sep 30 Javascript
vuex分模块后,实现获取state的值
Jul 26 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
Aug 08 Javascript
小程序实现可拖动的悬浮按钮
Sep 07 Javascript
javascript自定义加载loading效果
Sep 15 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
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
Python bytes string相互转换过程解析
2020/03/05 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
学生自我鉴定
2013/12/18 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
文明旅游倡议书
2015/04/28 职场文书
单位实习介绍信
2015/05/05 职场文书
优质服务标语口号
2015/12/26 职场文书
python元组打包和解包过程详解
2021/08/02 Python
Docker官方工具docker-registry案例演示
2022/04/13 Servers
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS