{"_id":"@54sh/csu-info-validator","_rev":"6-08e65b6a8122547407c3e02dd84a4a0e","name":"@54sh/csu-info-validator","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.1":{"name":"@54sh/csu-info-validator","version":"0.0.1","description":"A personal information validator for Central South University","main":"index.js","scripts":{"build":"tsc && npm run lint","test":"npm run build && jest","lint":"eslint --fix dist/**"},"repository":{"type":"git","url":"git+https://github.com/wangsz12/csu-info-validator.git"},"keywords":["CSU","validator"],"author":{"name":"wangsz12"},"license":"MIT","bugs":{"url":"https://github.com/wangsz12/csu-info-validator/issues"},"homepage":"https://github.com/wangsz12/csu-info-validator#readme","devDependencies":{"@babel/core":"^7.15.5","@babel/preset-env":"^7.15.6","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","babel-jest":"^27.2.1","eslint":"^7.32.0","jest":"^27.2.1","typescript":"^4.4.3"},"gitHead":"b7e9ec890517ce3f7bd87d5bc27505d733b65dea","_id":"@54sh/csu-info-validator@0.0.1","_nodeVersion":"12.13.0","_npmVersion":"7.10.0","dist":{"integrity":"sha512-CHc6e3B0A0w/YcE7HZ3F/fVssZu4O+HpQYP3i8Wy0Ll6lLnQGcEeJsfiTLO93MmMDd+8dGSq1TYuAo/FHqLJUQ==","shasum":"38de60de695f63efcaf8fc0ab9b4d6681efd548d","tarball":"https://registry.npmjs.org/@54sh/csu-info-validator/-/csu-info-validator-0.0.1.tgz","fileCount":19,"unpackedSize":17761,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnS18fBbAKguFwNQe6XwT2nt1Nme2HU3N1CjHEQSasHAiBOFKSEmv3lkU24sVlZQc7LEKbtwVQtvu6EMg5s+4VCcA=="}]},"_npmUser":{"name":"wangsz12","email":"wangsz12@foxmail.com"},"directories":{},"maintainers":[{"name":"wangsz12","email":"wangsz12@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/csu-info-validator_0.0.1_1632841971971_0.8160211254439695"},"_hasShrinkwrap":false},"0.0.2":{"name":"@54sh/csu-info-validator","version":"0.0.2","description":"A personal information validator for Central South University","main":"dist/index.js","scripts":{"build":"tsc && npm run lint","test":"npm run build && jest","lint":"eslint --fix dist/**"},"repository":{"type":"git","url":"git+https://github.com/wangsz12/csu-info-validator.git"},"keywords":["CSU","validator"],"author":{"name":"wangsz12"},"license":"MIT","bugs":{"url":"https://github.com/wangsz12/csu-info-validator/issues"},"homepage":"https://github.com/wangsz12/csu-info-validator#readme","devDependencies":{"@babel/core":"^7.15.5","@babel/preset-env":"^7.15.6","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","babel-jest":"^27.2.1","eslint":"^7.32.0","jest":"^27.2.1","typescript":"^4.4.3"},"gitHead":"9e87f69181d38b65862c1d1597394f1816314b61","_id":"@54sh/csu-info-validator@0.0.2","_nodeVersion":"12.13.0","_npmVersion":"7.10.0","dist":{"integrity":"sha512-zySC5MjNSkVX1F8rS/86XfPUlRWOKpPr8HhRvCXSYQ/RlF9/k1Pc3/j3zRXiCeBZO4KGy45I2+4EffqcudXwxg==","shasum":"c4c2ecc7c2eee6a10050d690ffee323a0e90e25c","tarball":"https://registry.npmjs.org/@54sh/csu-info-validator/-/csu-info-validator-0.0.2.tgz","fileCount":19,"unpackedSize":17814,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH3X5VZL06ttrw+f4hcqMJd7osLMqanFT+X/IcHtkTsMAiBDxxqlG8uZCWkmtpQf2nZ5PqyI8Fu6ApgHZDXRYYerjg=="}]},"_npmUser":{"name":"wangsz12","email":"wangsz12@foxmail.com"},"directories":{},"maintainers":[{"name":"wangsz12","email":"wangsz12@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/csu-info-validator_0.0.2_1632884996562_0.7513967314441186"},"_hasShrinkwrap":false},"0.1.1":{"name":"@54sh/csu-info-validator","version":"0.1.1","description":"A personal information validator for Central South University","main":"dist/index.js","scripts":{"build":"tsc && npm run lint","test":"npm run build && jest","lint":"eslint --fix dist/**"},"repository":{"type":"git","url":"git+https://github.com/wangsz12/csu-info-validator.git"},"keywords":["CSU","validator"],"author":{"name":"wangsz12"},"license":"MIT","bugs":{"url":"https://github.com/wangsz12/csu-info-validator/issues"},"homepage":"https://github.com/wangsz12/csu-info-validator#readme","devDependencies":{"@babel/core":"^7.15.5","@babel/preset-env":"^7.15.6","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","babel-jest":"^27.2.1","eslint":"^7.32.0","jest":"^27.2.1","typescript":"^4.4.3"},"gitHead":"6779385237f861842f59f13baa78142bb2b6899b","_id":"@54sh/csu-info-validator@0.1.1","_nodeVersion":"12.13.0","_npmVersion":"7.10.0","dist":{"integrity":"sha512-edKwRZPeAJPV/g90CwcX3JvQVjYnV4+Xo9Oez5pBGtejgvmystum74eCJKjXFWfGbvUpdvWycUux4hGC6NgW4Q==","shasum":"a6ea7003626cfddf7a10c92310d2816c87914564","tarball":"https://registry.npmjs.org/@54sh/csu-info-validator/-/csu-info-validator-0.1.1.tgz","fileCount":19,"unpackedSize":25792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuhtLCRA9TVsSAnZWagAAYvQP/jOv9pOvbM5WBUnZm64L\nxPnZ2ZLzNpguj5+4PzIIgPTUS31kkw+c7XooGBOpZPUQAPR3qfAA3NGWQL9d\nl0CfU8bPH+PHUpHY216+IJasgCRB90EY276YsFFAhjySBESKmGvYPmaVXnrb\nGM+qowaNno7VrxD4gW5Av5tuR4rAYrndIPKdI1kq0dz/U4i/XsgN1Cv3DfI9\nxzSoe4NqtQRpB/n6qT5EfN3/XYOMiZz5/XuA4jUp1YOgXxjNK0G0lRQ1e4pI\nbil8EAybl+WytFUEI+Ke+KvIkGHOexDNJclqqk9w59jF4nFlHa5jIn+Rvqao\nvYNkbVT8XpGbDvF/Bzq68uHpCFtsFockTKAJGVeZPzbBKu/4lsrj/DGuIfuZ\nuDCnir6RMexQ5Z3+uNjtKeX6w0JEOGquSO1B/Hv2/GU4ZoHPd7Q2FKC3VJBf\nRPVhsxadmZA8UfGfXBWleHDhzkB50+vrw4+7/kPSQ7ZhEekPEkYNfWAvpjwy\nXOR/4Q0qTkKMTkZJCo35iBS8sQg3IK33f859/lLfydbqU/qPt9fMj+1YFSBG\nBUpR3UhJwTX+FrHAthklryUvhB92qmXHFyMJFJqh7Et254tx9O4uEQ5rWnhX\nc1IaW6Z/dwJmgzd+25CmECXK4bATc+dSle2/yF33IkN2D5eJps91aDMtQT6o\n2GHr\r\n=2okB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDEJDP6bmo62prLrF3iJF5p49ksgoI2v8qmw/XtA55nvAiEAr7DHliiitnku0fkkCdkbeV0Yud/23xKq+ri2eR0GdQM="}]},"_npmUser":{"name":"wangsz12","email":"wangsz12@foxmail.com"},"directories":{},"maintainers":[{"name":"wangsz12","email":"wangsz12@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/csu-info-validator_0.1.1_1633874610962_0.0661962250515733"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-28T15:12:51.884Z","0.0.1":"2021-09-28T15:12:52.137Z","modified":"2022-04-04T10:48:08.724Z","0.1.0":"2021-09-28T15:22:49.570Z","0.0.2":"2021-09-29T03:09:56.921Z","0.1.1":"2021-10-10T14:03:31.119Z"},"maintainers":[{"name":"wangsz12","email":"wangsz12@foxmail.com"}],"description":"A personal information validator for Central South University","homepage":"https://github.com/wangsz12/csu-info-validator#readme","keywords":["CSU","validator"],"repository":{"type":"git","url":"git+https://github.com/wangsz12/csu-info-validator.git"},"author":{"name":"wangsz12"},"bugs":{"url":"https://github.com/wangsz12/csu-info-validator/issues"},"license":"MIT","readme":"# CSU Info Validator\r\n\r\n中南大学个人信息验证\r\n\r\n## 安装\r\n\r\n通过npm安装\r\n\r\n```shell\r\n$ npm install @54sh/csu-info-validator --save\r\n```\r\n\r\n## 使用\r\n\r\n### Validator - 校验器模块\r\n\r\n#### 初始化\r\n\r\n``` javascript\r\nimport { CSUValidator } from '@54sh/csu-info-validator'\r\n\r\nconst config = {\r\n    name: [\r\n        'required'\r\n    ],\r\n    csuid: [\r\n        'required',\r\n        'CSUID'\r\n    ],\r\n    phone: [\r\n        'required',\r\n        'phone'\r\n    ],\r\n    klass: [\r\n        'required',\r\n        'fullClassNumber'\r\n    ]\r\n}\r\n\r\nconst validator = CSUValidator(config)\r\n```\r\n\r\n#### config - 校验规则\r\n\r\n初始化时，校验规则中每个规则均为 `String` 类型\r\n\r\n| 规则            | 含义             | 判据                                                         |\r\n| --------------- | ---------------- | ------------------------------------------------------------ |\r\n| required        | 必填             | 不能为 `undefined` 、 `null`  或空字符串                     |\r\n| notZero         | 不为0            | 不能为数字量 `0` 或字符串量 `'0'`                            |\r\n| CSUID           | 学号             | 必须为9位或10位<br />如果含有字母Y，必须在第7位上<br />如果含有字母L，必须在第1位上 |\r\n| fullClassNumber | 完整数字班级     | 必须包含年级与班级共4位数字，可以是T班                       |\r\n| phone           | 中国大陆手机号码 | 必须为1开头的11位数字序列                                    |\r\n| email           | 电子邮箱地址     | 必须包括用户名、@符号和域名                                  |\r\n\r\n#### 校验数据\r\n\r\n待校验数据需为 `object` 类型\r\n\r\n```javascript\r\nconst data = {\r\n    name: 'Alice',\r\n    csuid: '820123456700',\r\n    phone: '13012345678',\r\n    klass: 'T1234'\r\n}\r\n\r\nconst result = validator.validate(data)\r\nconsole.log('result: ', result)\r\n\r\n输出结果：\r\nresult:  { status: false, errors: [ { field: 'CSUID', rule: 'CSUID' } ] }\r\n```\r\n\r\n#### 校验结果\r\n\r\n校验结果结构如下\r\n\r\n| 字段   | 必填 | 类型            | 含义                 |\r\n| ------ | ---- | --------------- | -------------------- |\r\n| status | 是   | `boolean`       | 校验内容是否合法     |\r\n| errors | 否   | `array<object>` | 非法字段以及非法规则 |\r\n\r\n其中errors字段中单个值结构如下\r\n\r\n| 字段  | 含义               |\r\n| ----- | ------------------ |\r\n| field | 非法字段名称       |\r\n| rule  | 非法字段的非法规则 |\r\n\r\n---\r\n\r\n\r\n### Constant - 常量模块\r\n\r\n常量模块分为三部分：学院专业 `CSUSchoolsAndMajors` 、民族 `nations` 以及政治面貌 `politicCountenance`\r\n\r\n#### 引入\r\n\r\n```javascript\r\nimport {CSUSchoolsAndMajors, nations, politicCountenance} from '@54sh/csu-info-validator'\r\n```\r\n\r\n#### 调用\r\n\r\n##### CSUSchoolsAndMajors模块\r\n\r\n- `CSUSchoolsAndMajors.completeData`\r\n\r\n  类型：`Array<Object>`\r\n\r\n  全部学院与专业列表，结构如下\r\n\r\n  | 字段名 | 类型            | 含义     |\r\n  | ------ | --------------- | -------- |\r\n  | name   | `String`        | 学院名称 |\r\n  | majors | `Array<String>` | 专业列表 |\r\n\r\n- `CSUSchoolsAndMajors.schools`\r\n\r\n  类型：`Array<String>`\r\n\r\n  全部学院与专业\r\n\r\n  ***截至2021年9月***\r\n\r\n  全部学院与专业如下表\r\n\r\n  | 学院 | 下设专业 |\r\n  | ---- | -------- |\r\n  |  商学院  | 国际经济与贸易<br/>金融学<br/>信息管理与信息系统<br/>工商管理<br/>会计学 |\r\n  |  公共管理学院  | 行政管理<br/>劳动与社会保障<br/>哲学<br/>社会学<br/>学科教育（英语） |\r\n  |  法学院  | 法学 |\r\n  |  马克思主义学院  | 思想政治教育 |\r\n  |  文学与新闻传播学院  | 汉语言文学<br/>数字出版<br/>广播电视学 |\r\n  |  外国语学院  | 英语<br/>法语<br/>日语<br/>西班牙语 |\r\n  |  体育教研部  | 运动训练 |\r\n  |  建筑与艺术学院  | 视觉传达设计<br/>环境设计<br/>产品设计<br/>音乐表演<br/>舞蹈表演<br/>建筑学<br/>城乡规划 |\r\n  |  数学与统计学院  | 数学与应用数学<br/>信息与计算科学<br/>统计学 |\r\n  |  物理与电子学院  | 应用物理学<br/>光电信息科学与工程<br/>电子信息科学与技术 |\r\n  |  化学化工学院  | 应用化学<br/>化学工程与工艺<br/>制药工程 |\r\n  |  冶金与环境学院  | 环境工程<br/>冶金工程<br/>新能源材料与器件 |\r\n  |  资源加工与生物工程学院  | 生物工程<br/>生物技术<br/>无机非金属材料工程<br/>矿物加工工程 |\r\n  |  材料科学与工程学院  | 材料科学与工程 |\r\n  |  粉末冶金研究院  | 材料化学<br/>高分子材料与工程<br/>粉体材料科学与工程 |\r\n  |  地球科学与信息物理学院  | 地理信息科学<br/>遥感科学与技术<br/>测绘工程<br/>地质工程<br/>资源勘查工程<br/>地球物理学 |\r\n  | 土木工程学院  | 土木工程<br/>铁道工程<br/>工程力学<br/>消防工程<br/>工程管理 |\r\n  |  资源与安全工程学院  | 采矿工程<br/>城市地下空间工程<br/>安全工程 |\r\n  |  交通运输工程学院  | 交通运输<br/>交通设备与控制工程<br/>物流工程<br/>轨道交通信号与控制 |\r\n  |  机电工程学院  | 机械设计制造及其自动化<br/>车辆工程<br/>微电子科学与工程 |\r\n  |  能源科学与工程学院  | 能源与动力工程<br/>新能源科学与工程<br/>建筑环境与能源应用工程 |\r\n  |  自动化学院  | 电气工程及其自动化<br/>自动化<br/>测控技术与仪器<br/>电子信息工程<br/>智能科学与技术 |\r\n  |  计算机学院  | 计算机科学与技术<br/>信息安全<br/>物联网工程<br/>通信工程<br/>数据科学与大数据技术<br/>软件工程 |\r\n  |  基础医学院  | 生物医学工程<br/>基础医学<br/>法医学 |\r\n  |  航空航天学院  | 航空航天工程<br/>探测制导与控制技术 |\r\n  |  湘雅医学院  | 临床医学（八年制）<br/>麻醉学<br/>精神医学<br/>医学检验技术<br/>临床医学（五年制） |\r\n  |  湘雅口腔医学院  | 口腔医学（5+3）<br/>口腔医学（五年制） |\r\n  |  湘雅药学院  | 临床药学<br/>药学 |\r\n  |  湘雅护理学院  | 护理学 |\r\n  |  生命科学学院  | 生物科学<br/>生物信息学 |\r\n  |  湘雅公共卫生学院  | 预防医学 |\r\n\r\n  \r\n\r\n- `CSUSchoolsAndMajors.getMajors(school)`\r\n\r\n  返回值类型：`Array<String>`\r\n\r\n  根据学院名返回专业列表\r\n\r\n##### nations模块\r\n\r\n- `nations.completeData`\r\n\r\n  类型：`Array<String>`\r\n\r\n  全部56个民族以及”其他“选项\r\n\r\n  ***截至2021年9月***\r\n  \r\n  民族列表如下表（无先后顺序）\r\n  \r\n  | 民族名称 | 民族名称 | 民族名称 | 民族名称 | 民族名称 |\r\n  | ---- | ---- | ---- | ---- | ---- |\r\n  | 汉族 | 满族 | 蒙古族 | 回族 | 藏族 |\r\n  | 维吾尔族 | 苗族 | 彝族 | 壮族 | 布依族 |\r\n  | 侗族 | 瑶族 | 白族 | 土家族 | 哈尼族 |\r\n  | 哈萨克族 | 傣族 | 黎族 | 傈僳族 | 佤族 |\r\n  | 畲族 | 高山族 | 拉祜族 | 水族 | 东乡族 |\r\n  | 纳西族 | 景颇族 | 柯尔克孜族 | 土族 | 达斡尔族 |\r\n  | 仫佬族 | 羌族 | 布朗族 | 撒拉族 | 毛南族 |\r\n  | 仡佬族 | 锡伯族 | 阿昌族 | 普米族 | 朝鲜族 |\r\n  | 塔吉克族 | 怒族 | 乌孜别克族 | 俄罗斯族 | 鄂温克族 |\r\n  | 德昂族 | 保安族 | 裕固族 | 京族 | 塔塔尔族 |\r\n  | 独龙族 | 鄂伦春族 | 赫哲族 | 门巴族 | 珞巴族 |\r\n  | 基诺族 | 其他 |  |  |  |\r\n  \r\n\r\n##### politicCountenance模块\r\n\r\n- `politicCountenance.commonData`\r\n\r\n  类型：`Array<String>`\r\n\r\n  精简版政治面貌，包括中共党员、中共预备党员、共青团员、群众以及其他五个选项\r\n\r\n- `politicCountenance.completeData`\r\n\r\n  类型：`Array<String>`\r\n\r\n  ***截至2021年9月***\r\n\r\n  完整版政治面貌，包括详细民主党派，具体如下表\r\n\r\n  | 政治面貌   | 政治面貌     | 政治面貌     | 政治面貌 |\r\n  | ---------- | ------------ | ------------ | -------- |\r\n  | 中共党员   | 中共预备党员 | 共青团员     | 群众     |\r\n  | 民革党员   | 民盟盟员     | 民建会员     | 民进会员 |\r\n  | 农工党党员 | 致公党党员   | 九三学社社员 | 台盟盟员 |\r\n  | 无党派人士 |              |              |          |\r\n\r\n  ","readmeFilename":"README.md"}