@54sh/csu-info-validator 中文文档教程

发布于 3年前 浏览 30 项目主页 更新于 3年前

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必填不能为 undefinednull 或空字符串
notZero不为0不能为数字量 0 或字符串量 '0'
CSUID学号必须为9位或10位
如果含有字母Y,必须在第7位上
如果含有字母L,必须在第1位上
fullClassNumber完整数字班级必须包含年级与班级共4位数字,可以是T班
phone中国大陆手机号码必须为1开头的11位数字序列
email电子邮箱地址必须包括用户名、@符号和域名

校验数据

待校验数据需为 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' } ] }

校验结果

校验结果结构如下

字段必填类型含义
statusboolean校验内容是否合法
errorsarray<object>非法字段以及非法规则

其中errors字段中单个值结构如下

字段含义
field非法字段名称
rule非法字段的非法规则

Constant - 常量模块

常量模块分为三部分:学院专业 CSUSchoolsAndMajors 、民族 nations 以及政治面貌 politicCountenance

引入

import {CSUSchoolsAndMajors, nations, politicCountenance} from '@54sh/csu-info-validator'

调用

CSUSchoolsAndMajors模块
  • CSUSchoolsAndMajors.completeData

    类型:Array<Object>

    全部学院与专业列表,结构如下

    字段名类型含义
    nameString学院名称
    majorsArray<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月

    完整版政治面貌,包括详细民主党派,具体如下表

    政治面貌政治面貌政治面貌政治面貌
    中共党员中共预备党员共青团员群众
    民革党员民盟盟员民建会员民进会员
    农工党党员致公党党员九三学社社员台盟盟员
    无党派人士
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文