用javascript将中文名字拆分为姓与名的jquery插件
/* * 把姓名分拆成姓与名的方法* @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插件相关推荐
- Java拆分为姓和名
Java拆分为姓和名 /*** 姓名拆分为姓和名** @param name 姓名* @return 姓,名*/ public static String[] getNameSplit(String ...
- JavaScript(23) 创建元素标签和属性在body中(jQuery插件)
效果图: 代码:(注意引入jQuery插件!!) <!DOCTYPE html> <html><head lang="en"><meta ...
- Excel如何将姓名转为拼音并将姓和名分开显示
如下图A列是一些人员姓名,现在想要将这些人名姓的拼音放在B列,名的拼音放在C列. 全选所有姓名数据单元格区域 点击下图选项(Excel工具箱,百度即可了解详细下载安装方法,本文这里不想详细解说) 点击 ...
- JAVA 获取姓氏(姓和名)判断复姓
需求 输入姓名拆分成 姓 和名 public List<String> nameSplit(String name) {String[] bai = { "欧阳", & ...
- 怎么中文读_这些中文名字如果用日语念出来会怎样?!
日本和我们中国一样,奇葩的名儿也挺多,也有很多本身意境非常好的名字,只不过有的时候,有的中文名字用日语念出来,听的总觉得有点奇怪,让人吐槽不已. 如果你拥有以下名字,请注意了,不要让日本人念出来-- ...
- 论文编辑与投稿——引用文献(References)中作者名字中“姓”、“名”应该如何组织
撰写科技论文时,总免不了要引用前人的发现,尤其是在前言和讨论部分.那么在文中提到他人的研究时,如何写出作者的名字呢?其实规则很简单,通常只需要写出第一作者的姓(last name)就可以了.比如下面的 ...
- vba 全拼_[求助]如何把中文名字转换为拼音(全拼、首字母)
你的位置: 问答吧 -> excel -> 问题详情 [求助]如何把中文名字转换为拼音(全拼.首字母) 现需要把中文名字的拼音做企业邮箱的名字,姓用全拼,名用首字母,比如刘翔为liux,应 ...
- 世界上最好的中文名字是什么
[其实斯泽夫这名字很好听,有中国味道,叫着也很上口,如果深入一下,有很多意思可以发掘出来.--2009-10-03] 中国人到美国,常常有一个安妮.杰克之类的洋名字,不是为了好听,也是为了方便.老外来 ...
- 机器学习实验(十三):90%的准确率,根据中文名字预测性别!
声明:版权所有,转载请联系作者并注明出处 http://blog.csdn.net/u013719780?viewmode=contents 90%的准确率,根据中文名字预测性别! 一.概述 性别是 ...
最新文章
- vue 树形下拉框 亲测 好用
- RecSys 2017总结
- 新手程序员不知道的小技巧!
- java web windows_WinSW让你的JavaWEB程序作为Windows服务启动!
- 安装配置mac版_全面战争三国 Mac版Mod安装指南
- Ubuntu 12.04 eclipse 安装 svn插件
- mysql 数据库时间类型 datetime 数据在页面上显示一串数字, 用函数date_format( )转换格式 ;
- ML/DL-复习笔记【四】- DeepLab系列模型总结
- Vue.js 系列教程 5:动画
- Atitit 修改密码的功能流程设计 attilax总结
- 7种超粗体字体(带有示例)
- 解决“无法删除文件:无法读源文件或磁盘”
- jsp中文乱码现象解决办法
- html读取fbx文件,读取Fbx文件中的信息.doc
- 5GNR解调分析手持式频谱分析仪
- Python从入门到数据分析第一篇—Python简介- Python介绍与初探
- 路易斯安那州立大学计算机科学,路易斯安那州立大学
- ToC战场进入尾声,ToB市场战争厮杀即将升级?
- 关于谷歌浏览器的禁止autoplay政策 - Kaiqisan
- 计算机把C盘无法扩展,如何解决可分配空间却无法扩展C盘的问题?