网络编程 
首页 > 网络编程 > 浏览文章

基于jquery实现拆分姓名的方法(纯JS版)

(编辑:jimmy 日期: 2025/12/30 浏览:3 次 )
之前已经分享过一个在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函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
下一篇:jQuery cdn使用介绍
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?