日期:2014-05-16 浏览次数:20327 次
/* * 把姓名分拆成姓与名的方法 * @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);
输入内容前的效果:
输入内容后的效果:
使用的方法:
在表单中写一个文本框,然后在这个文本框的jquery对象上调用splitName方法初始化一下即可,示例:
html代码是这样写滴:
<input type="text" name="fullname">
$('input[name="fullname"]').splitName();
全国淘宝游戏点卡,手机话费充值:http://cn008.taobao.com