基于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压缩工具:X2JSCompactor
Jun 13 Javascript
编写高性能的JavaScript 脚本的加载与执行
Apr 19 Javascript
javascript 常用功能总结
Mar 18 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
JS(JQuery)操作Array的相关方法介绍
Feb 11 Javascript
jQuery 计算iframe 窗口大小的方法
May 13 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
轻松掌握JavaScript单例模式
Aug 25 Javascript
微信小程序 加载 app-service.js 错误解决方法
Oct 12 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
Dec 06 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
Jan 27 Javascript
详解js中的原型,原型对象,原型链
Jul 16 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三元运算符的结合性介绍
2012/01/10 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
css配合jquery美化 select
2013/11/29 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
javascript数组定义的几种方法
2017/10/06 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
详细介绍Python中的偏函数
2015/04/27 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
详解python和matlab的优势与区别
2019/06/28 Python
python 实现线程之间的通信示例
2020/02/14 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
全球精选男装和家居用品:Article
2020/04/13 全球购物
物流专业自荐信
2014/05/23 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
实习证明模板
2015/06/16 职场文书
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python