@54sh/csu-info-validator 中文文档教程
CSU Info Validator
中南大学个人信息验证
安装
通过npm安装
$ npm install @54sh/csu-info-validator --save
使用
Validator - 校验器模块
初始化
import { CSUValidator } from '@54sh/csu-info-validator'
const config = {
name: [
'required'
],
csuid: [
'required',
'CSUID'
],
phone: [
'required',
'phone'
],
klass: [
'required',
'fullClassNumber'
]
}
const validator = CSUValidator(config)
config - 校验规则
初始化时,校验规则中每个规则均为 String
类型
规则 | 含义 | 判据 |
---|---|---|
required | 必填 | 不能为 undefined 、 null 或空字符串 |
notZero | 不为0 | 不能为数字量 0 或字符串量 '0' |
CSUID | 学号 | 必须为9位或10位 如果含有字母Y,必须在第7位上 如果含有字母L,必须在第1位上 |
fullClassNumber | 完整数字班级 | 必须包含年级与班级共4位数字,可以是T班 |
phone | 中国大陆手机号码 | 必须为1开头的11位数字序列 |
电子邮箱地址 | 必须包括用户名、@符号和域名 |
校验数据
待校验数据需为 object
类型
const data = {
name: 'Alice',
csuid: '820123456700',
phone: '13012345678',
klass: 'T1234'
}
const result = validator.validate(data)
console.log('result: ', result)
输出结果:
result: { status: false, errors: [ { field: 'CSUID', rule: 'CSUID' } ] }
校验结果
校验结果结构如下
字段 | 必填 | 类型 | 含义 |
---|---|---|---|
status | 是 | boolean | 校验内容是否合法 |
errors | 否 | array<object> | 非法字段以及非法规则 |
其中errors字段中单个值结构如下
字段 | 含义 |
---|---|
field | 非法字段名称 |
rule | 非法字段的非法规则 |
Constant - 常量模块
常量模块分为三部分:学院专业 CSUSchoolsAndMajors
、民族 nations
以及政治面貌 politicCountenance
引入
import {CSUSchoolsAndMajors, nations, politicCountenance} from '@54sh/csu-info-validator'
调用
CSUSchoolsAndMajors模块
CSUSchoolsAndMajors.completeData
类型:
Array<Object>
全部学院与专业列表,结构如下
字段名 类型 含义 name String
学院名称 majors Array<String>
专业列表 CSUSchoolsAndMajors.schools
类型:
Array<String>
全部学院与专业
截至2021年9月
全部学院与专业如下表
学院 下设专业 商学院 国际经济与贸易
金融学
信息管理与信息系统
工商管理
会计学公共管理学院 行政管理
劳动与社会保障
哲学
社会学
学科教育(英语)法学院 法学 马克思主义学院 思想政治教育 文学与新闻传播学院 汉语言文学
数字出版
广播电视学外国语学院 英语
法语
日语
西班牙语体育教研部 运动训练 建筑与艺术学院 视觉传达设计
环境设计
产品设计
音乐表演
舞蹈表演
建筑学
城乡规划数学与统计学院 数学与应用数学
信息与计算科学
统计学物理与电子学院 应用物理学
光电信息科学与工程
电子信息科学与技术化学化工学院 应用化学
化学工程与工艺
制药工程冶金与环境学院 环境工程
冶金工程
新能源材料与器件资源加工与生物工程学院 生物工程
生物技术
无机非金属材料工程
矿物加工工程材料科学与工程学院 材料科学与工程 粉末冶金研究院 材料化学
高分子材料与工程
粉体材料科学与工程地球科学与信息物理学院 地理信息科学
遥感科学与技术
测绘工程
地质工程
资源勘查工程
地球物理学土木工程学院 土木工程
铁道工程
工程力学
消防工程
工程管理资源与安全工程学院 采矿工程
城市地下空间工程
安全工程交通运输工程学院 交通运输
交通设备与控制工程
物流工程
轨道交通信号与控制机电工程学院 机械设计制造及其自动化
车辆工程
微电子科学与工程能源科学与工程学院 能源与动力工程
新能源科学与工程
建筑环境与能源应用工程自动化学院 电气工程及其自动化
自动化
测控技术与仪器
电子信息工程
智能科学与技术计算机学院 计算机科学与技术
信息安全
物联网工程
通信工程
数据科学与大数据技术
软件工程基础医学院 生物医学工程
基础医学
法医学航空航天学院 航空航天工程
探测制导与控制技术湘雅医学院 临床医学(八年制)
麻醉学
精神医学
医学检验技术
临床医学(五年制)湘雅口腔医学院 口腔医学(5+3)
口腔医学(五年制)湘雅药学院 临床药学
药学湘雅护理学院 护理学 生命科学学院 生物科学
生物信息学湘雅公共卫生学院 预防医学 CSUSchoolsAndMajors.getMajors(school)
返回值类型:
Array<String>
根据学院名返回专业列表
nations模块
nations.completeData
类型:
Array<String>
全部56个民族以及”其他“选项
截至2021年9月
民族列表如下表(无先后顺序)
民族名称 民族名称 民族名称 民族名称 民族名称 汉族 满族 蒙古族 回族 藏族 维吾尔族 苗族 彝族 壮族 布依族 侗族 瑶族 白族 土家族 哈尼族 哈萨克族 傣族 黎族 傈僳族 佤族 畲族 高山族 拉祜族 水族 东乡族 纳西族 景颇族 柯尔克孜族 土族 达斡尔族 仫佬族 羌族 布朗族 撒拉族 毛南族 仡佬族 锡伯族 阿昌族 普米族 朝鲜族 塔吉克族 怒族 乌孜别克族 俄罗斯族 鄂温克族 德昂族 保安族 裕固族 京族 塔塔尔族 独龙族 鄂伦春族 赫哲族 门巴族 珞巴族 基诺族 其他
politicCountenance模块
politicCountenance.commonData
类型:
Array<String>
精简版政治面貌,包括中共党员、中共预备党员、共青团员、群众以及其他五个选项
politicCountenance.completeData
类型:
Array<String>
截至2021年9月
完整版政治面貌,包括详细民主党派,具体如下表
政治面貌 政治面貌 政治面貌 政治面貌 中共党员 中共预备党员 共青团员 群众 民革党员 民盟盟员 民建会员 民进会员 农工党党员 致公党党员 九三学社社员 台盟盟员 无党派人士