基于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 相关文章推荐
Javascript 函数中的参数使用分析
Mar 27 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
jquery模拟按下回车实现代码
Sep 20 Javascript
处理及遍历XML文档DOM元素属性及方法整理
Aug 23 Javascript
js随机生成网页背景颜色的方法
Feb 26 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
AngularJs基于角色的前端访问控制的实现
Nov 07 Javascript
基于javascript实现按圆形排列DIV元素(一)
Dec 02 Javascript
浅谈React Native 中组件的生命周期
Sep 08 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 Javascript
vue实现提示保存后退出的方法
Mar 15 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 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世纪万年历
2006/12/06 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
微信API接口大全
2015/04/15 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
详解如何让Express支持async/await
2017/10/09 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
利用Python实现颜色色值转换的小工具
2016/10/27 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
Python遍历字典方式就实例详解
2019/12/28 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
网络安全类面试题
2015/08/01 面试题
应用化学专业职业生涯规划书
2013/12/31 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
英语感谢信范文
2015/01/20 职场文书
感谢信格式范文
2015/01/22 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
文艺节目主持词
2015/07/06 职场文书