背景
第三方传递的民族字段为国标数字代码,考虑到以后的规范化,遂将整个民族国标转换关系写了一下。
JS函数如下:
//民族字典
var raceDictionaryData = '[{"name":"土家族","code":"TJ","num":"15"},'
+ '{"name":"土族","code":"TU","num":"30"},'
+ '{"name":"门巴族","code":"MB","num":"54"},'
+ '{"name":"水族","code":"SU","num":"25"},'
+ '{"name":"毛南族","code":"MN","num":"36"},'
+ '{"name":"乌兹别克族","code":"UZ","num":"43"},'
+ '{"name":"布依族","code":"BY","num":"09"},'
+ '{"name":"布朗族","code":"BL","num":"34"},'
+ '{"name":"东乡族","code":"DX","num":"26"},'
+ '{"name":"仡佬族","code":"GL","num":"37"},'
+ '{"name":"仫佬族","code":"ML","num":"32"},'
+ '{"name":"白族","code":"BA","num":"14"},'
+ '{"name":"汉族","code":"HA","num":"01"},'
+ '{"name":"达斡尔族","code":"DU","num":"31"},'
+ '{"name":"回族","code":"HU","num":"03"},'
+ '{"name":"佤族","code":"VA","num":"21"},'
+ '{"name":"壮族","code":"ZH","num":"08"},'
+ '{"name":"羌族","code":"QI","num":"33"},'
+ '{"name":"阿昌族","code":"AC","num":"29"},'
+ '{"name":"纳西族","code":"NX","num":"27"},'
+ '{"name":"拉祜族","code":"LH","num":"24"},'
+ '{"name":"苗族","code":"MH","num":"06"},'
+ '{"name":"侗族","code":"DO","num":"12"},'
+ '{"name":"京族","code":"GI","num":"49"},'
+ '{"name":"柯尔克孜族","code":"KG","num":"29"},'
+ '{"name":"哈尼族","code":"HN","num":"16"},'
+ '{"name":"哈萨克族","code":"KZ","num":"17"},'
+ '{"name":"保安族","code":"BN","num":"47"},'
+ '{"name":"俄罗斯族","code":"RS","num":"44"},'
+ '{"name":"独龙族","code":"DR","num":"51"},'
+ '{"name":"怒族","code":"NU","num":"42"},'
+ '{"name":"珞巴族","code":"LB","num":"55"},'
+ '{"name":"高山族","code":"GS","num":"23"},'
+ '{"name":"基诺族","code":"JN","num":"56"},'
+ '{"name":"鄂伦春族","code":"OR","num":"52"},'
+ '{"name":"鄂温克族","code":"EW","num":"45"},'
+ '{"name":"维吾尔族","code":"UG","num":"05"},'
+ '{"name":"塔吉克族","code":"TA","num":"41"},'
+ '{"name":"塔塔尔族","code":"TT","num":"50"},'
+ '{"name":"朝鲜族","code":"CS","num":"10"},'
+ '{"name":"景颇族","code":"JP","num":"28"},'
+ '{"name":"傣族","code":"DA","num":"18"},'
+ '{"name":"傈僳族","code":"LS","num":"20"},'
+ '{"name":"畲族","code":"SH","num":"22"},'
+ '{"name":"普米族","code":"PM","num":"40"},'
+ '{"name":"裕固族","code":"YG","num":"48"},'
+ '{"name":"蒙古族","code":"MG","num":"02"},'
+ '{"name":"锡伯族","code":"XB","num":"38"},'
+ '{"name":"满族","code":"MA","num":"11"},'
+ '{"name":"瑶族","code":"YA","num":"13"},'
+ '{"name":"赫哲族","code":"HZ","num":"53"},'
+ '{"name":"撒拉族","code":"SL","num":"35"},'
+ '{"name":"德昂族","code":"DE","num":"46"},'
+ '{"name":"黎族","code":"LI","num":"19"},'
+ '{"name":"藏族","code":"ZA","num":"04"},'
+ '{"name":"彝族","code":"YI","num":"07"}]';
function getRaceDictionary() {
return JSON.parse(raceDictionaryData);
}
function convertRaceData(race) {
if (/^[\u4e00-\u9fa5]+$/g.test(race)) { //中文输入直接返回
return race;
}
var result = "";
var raceDic = getRaceDictionary();
if (/^[a-zA-Z]+$/g.test(race)) { //英文代码输入返回对应民族
$.each(raceDic, function(index,value) {
if (value.code == race) {
result = value.name;
}
});
}
if (/^[0-9]+$/g.test(race)) { //数字代码输入返回对应民族
$.each(raceDic, function (index, value) {
if (value.num == race) {
result = value.name;
}
});
}
if (result != "") {
return result;
} else {
return race;
}
}
使用时直接调用convertRaceData()即可。