基于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 04 Javascript
单击复制文字兼容各浏览器的完美解决方案
Jul 04 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
Jul 21 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
Feb 14 Javascript
js原生实现FastClick事件的实例
Nov 20 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
JavaScript实现水平进度条拖拽效果
Jan 18 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
Dec 11 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 Javascript
Vue-router 报错NavigationDuplicated的解决方法
Mar 31 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
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
解析argc argv在php中的应用
2013/06/24 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
pytorch梯度剪裁方式
2020/02/04 Python
Python中bisect的用法及示例详解
2020/07/20 Python
python数据抓取3种方法总结
2021/02/07 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
struct与class的区别
2014/02/03 面试题
代理商会议邀请函
2014/01/27 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
社区庆八一活动方案
2014/02/02 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
矛盾论读书笔记
2015/06/29 职场文书
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android