0.1.1 • Published 3 years ago

@54sh/csu-info-validator v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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月

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

    政治面貌政治面貌政治面貌政治面貌
    中共党员中共预备党员共青团员群众
    民革党员民盟盟员民建会员民进会员
    农工党党员致公党党员九三学社社员台盟盟员
    无党派人士
0.1.1

3 years ago

0.0.2

3 years ago

0.1.0

3 years ago

0.0.1

3 years ago