/* * 把姓名分拆成姓与名的方法* @author waitatlee <waitatlee@163.com>* @date 2012/11/2*/
(function($){var hyphenated = ['欧阳','太史','端木','上官','司马','东方','独孤','南宫','万俟','闻人','夏侯','诸葛','尉迟','公羊','赫连','澹台','皇甫','宗政','濮阳','公冶','太叔','申屠','公孙','慕容','仲孙','钟离','长孙','宇文','城池','司徒','鲜于','司空','汝嫣','闾丘','子车','亓官','司寇','巫马','公西','颛孙','壤驷','公良','漆雕','乐正','宰父','谷梁','拓跋','夹谷','轩辕','令狐','段干','百里','呼延','东郭','南门','羊舌','微生','公户','公玉','公仪','梁丘','公仲','公上','公门','公山','公坚','左丘','公伯','西门','公祖','第五','公乘','贯丘','公皙','南荣','东里','东宫','仲长','子书','子桑','即墨','达奚','褚师'];$.fn.splitName = function(userConfig){var self = this;var wraperLabel = self.closest('label');var form = self.closest('form');var config = $.extend({//将用户配置与默认配置合并'lastnameField': 'lastname','firstnameField': 'firstname'}, userConfig);var lastnameField = config.lastnameField, firstnameField = config.firstnameField;if(form.find(':input[name="'+ lastnameField +'"]').size() > 0){jt.alert('警告:在初始化姓名拆分方法时发现表单中含有多于一个name的值为'+ lastnameField +'的元素,这可能会与姓名的拆分结果发生冲突而导致数据丢失,请检查');}if(form.find(':input[name="'+ firstnameField +'"]').size() > 0){jt.alert('警告:在初始化姓名拆分方法时发现表单中含有多于一个name的值为'+ firstnameField +'的元素,这可能会与姓名的拆分结果发生冲突而导致数据丢失,请检查');}self.init = function(){wraperLabel.attr('for', 'notExistsId');var replaceHtml = "<div class='nameInputWraper'><input type='text' placeholder='姓' class='partOne' name='"+ lastnameField +"'><input type='text' placeholder='名' class='partTwo' name='"+ firstnameField +"'></div>";self.replaceWith(replaceHtml);var partOne = form.find('input[name="'+ lastnameField +'"]');var partTwo = form.find('input[name="'+ firstnameField +'"]');partOne.bind('blur.split', function(){var partOneValue = $.trim(partOne.val());var vLength = partOneValue.length;if(vLength > 2){var preTwoWords = partOneValue.substr(0, 2);if($.inArray(preTwoWords, hyphenated) > -1){partOne.val(preTwoWords);partTwo.val(partOneValue.substr(2));}else{partOne.val(partOneValue.substr(0, 1));partTwo.val(partOneValue.substr(1));}}else if(vLength == 2 && !partTwo.val()){partOne.val(partOneValue.substr(0, 1));partTwo.val(partOneValue.substr(1));}});}self.init();};
})(jQuery);

先看看这个插件的效果,下面的效果是用CSS控制的,这里根据大家的喜好而定

输入内容前的效果:

输入内容后的效果:

使用的方法:

在表单中写一个文本框,然后在这个文本框的jquery对象上调用splitName方法初始化一下即可,示例:

html代码是这样写滴:

<input type="text" name="fullname">

然后用以下的JS语句初始化:

$('input[name="fullname"]').splitName();

这样当用户把整个姓名都输入在"姓"氏的文本框时,当blur事件发生后,脚本就会自动检查用户的输入并且检查有无复姓出现,智能将姓与名拆开到相应的文本框中,这样一来,用户可以即时检查拆分结果,当发现不对时,也可以马上进行修改了.

全国淘宝游戏点卡,手机话费充值:http://cn008.taobao.com

用javascript将中文名字拆分为姓与名的jquery插件相关推荐

  1. Java拆分为姓和名

    Java拆分为姓和名 /*** 姓名拆分为姓和名** @param name 姓名* @return 姓,名*/ public static String[] getNameSplit(String ...

  2. JavaScript(23) 创建元素标签和属性在body中(jQuery插件)

    效果图: 代码:(注意引入jQuery插件!!) <!DOCTYPE html> <html><head lang="en"><meta ...

  3. Excel如何将姓名转为拼音并将姓和名分开显示

    如下图A列是一些人员姓名,现在想要将这些人名姓的拼音放在B列,名的拼音放在C列. 全选所有姓名数据单元格区域 点击下图选项(Excel工具箱,百度即可了解详细下载安装方法,本文这里不想详细解说) 点击 ...

  4. JAVA 获取姓氏(姓和名)判断复姓

    需求 输入姓名拆分成 姓 和名 public List<String> nameSplit(String name) {String[] bai = { "欧阳", & ...

  5. 怎么中文读_这些中文名字如果用日语念出来会怎样?!

    日本和我们中国一样,奇葩的名儿也挺多,也有很多本身意境非常好的名字,只不过有的时候,有的中文名字用日语念出来,听的总觉得有点奇怪,让人吐槽不已. 如果你拥有以下名字,请注意了,不要让日本人念出来-- ...

  6. 论文编辑与投稿——引用文献(References)中作者名字中“姓”、“名”应该如何组织

    撰写科技论文时,总免不了要引用前人的发现,尤其是在前言和讨论部分.那么在文中提到他人的研究时,如何写出作者的名字呢?其实规则很简单,通常只需要写出第一作者的姓(last name)就可以了.比如下面的 ...

  7. vba 全拼_[求助]如何把中文名字转换为拼音(全拼、首字母)

    你的位置: 问答吧 -> excel -> 问题详情 [求助]如何把中文名字转换为拼音(全拼.首字母) 现需要把中文名字的拼音做企业邮箱的名字,姓用全拼,名用首字母,比如刘翔为liux,应 ...

  8. 世界上最好的中文名字是什么

    [其实斯泽夫这名字很好听,有中国味道,叫着也很上口,如果深入一下,有很多意思可以发掘出来.--2009-10-03] 中国人到美国,常常有一个安妮.杰克之类的洋名字,不是为了好听,也是为了方便.老外来 ...

  9. 机器学习实验(十三):90%的准确率,根据中文名字预测性别!

    声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents 90%的准确率,根据中文名字预测性别! 一.概述 性别是 ...

最新文章

  1. vue 树形下拉框 亲测 好用
  2. RecSys 2017总结
  3. 新手程序员不知道的小技巧!
  4. java web windows_WinSW让你的JavaWEB程序作为Windows服务启动!
  5. 安装配置mac版_全面战争三国 Mac版Mod安装指南
  6. Ubuntu 12.04 eclipse 安装 svn插件
  7. mysql 数据库时间类型 datetime 数据在页面上显示一串数字, 用函数date_format( )转换格式 ;
  8. ML/DL-复习笔记【四】- DeepLab系列模型总结
  9. Vue.js 系列教程 5:动画
  10. Atitit 修改密码的功能流程设计 attilax总结
  11. 7种超粗体字体(带有示例)
  12. 解决“无法删除文件:无法读源文件或磁盘”
  13. jsp中文乱码现象解决办法
  14. html读取fbx文件,读取Fbx文件中的信息.doc
  15. 5GNR解调分析手持式频谱分析仪
  16. Python从入门到数据分析第一篇—Python简介- Python介绍与初探
  17. 路易斯安那州立大学计算机科学,路易斯安那州立大学
  18. ToC战场进入尾声,ToB市场战争厮杀即将升级?
  19. 关于谷歌浏览器的禁止autoplay政策 - Kaiqisan
  20. 计算机把C盘无法扩展,如何解决可分配空间却无法扩展C盘的问题?

热门文章

  1. 两轮平衡车开发第一篇之姿态基础
  2. 央行完成2018年支付领域金融消费权益保护检查:存在8大问题
  3. 不懂进制转换,我连B站追番的权利都没有
  4. HashMap红黑树原理分析
  5. Python mpl_toolkits.mplot3d工具包绘制三维图
  6. 【RS-485上下拉电阻选择说明】
  7. STM32 GPIO的输入、输出模式的介绍应用总结(模拟/浮空/上拉/下拉/推挽/开漏)
  8. Transformer原理详解
  9. 临摹图标都有哪些技巧,五个临摹图标案例告诉你
  10. 曾靠一份简历面试8家软件测试岗,同时拿下5家Offer,剩余三家都进入了最终面试环节。