62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
/**
|
||
* 匹配中国手机号码,可包含国家代码86,支持各种运营商号段。
|
||
*/
|
||
export const PHONE
|
||
= /^(?:(?:\+|00)86)?1(?:3\d|4[5-7|9]|5[0-3|5-9]|6[5-7]|7[0-8]|8\d|9[1|89])\d{8}$/;
|
||
|
||
/**
|
||
* 匹配中国大陆的统一社会信用代码。
|
||
*/
|
||
export const UNIFIED_SOCIAL_CREDIT_CODE
|
||
= /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
|
||
|
||
/**
|
||
* 匹配中国大陆的身份证号码,包括15位和18位号码,并验证最后一位校验码。
|
||
*/
|
||
export const ID_NUMBER
|
||
= /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[12]\d|30|31)\d{3}[\dX]$/i;
|
||
|
||
/**
|
||
* 匹配中国大陆的移动电话号码,不包含国家代码。
|
||
*/
|
||
export const MOBILE_PHONE
|
||
= /^(13\d|14[579]|15[0-3,5-9]|166|17[0135-8]|18\d|19[89])\d{8}$/;
|
||
|
||
/**
|
||
* 匹配浮点数,允许整数、一位或两位小数,以及零的情况。
|
||
*/
|
||
export const FLOATING_POINT_NUMBER
|
||
= /(^[1-9](\d+)?(\.\d{1,2})?$)|(^(0)$)|(^\d\.\d(\d)?$)/;
|
||
|
||
/**
|
||
* 两位小数。
|
||
*/
|
||
export const TWO_DECIMAL_PLACES = /^\d+\.\d{2}$/;
|
||
|
||
/**
|
||
* 一位小数(非必须)。
|
||
*/
|
||
export const ONE_DECIMAL_PLACES = /^\d+(\.\d?)?$/;
|
||
|
||
/**
|
||
* 匹配中国大陆的车牌号码。
|
||
*/
|
||
export const LICENSE_PLATE_NUMBER
|
||
= /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z][A-Z][A-Z0-9]{4}[A-Z0-9挂学警港澳])$/;
|
||
|
||
/**
|
||
* 匹配强密码,要求至少8个字符,包含大小写字母、数字和特殊字符。
|
||
*/
|
||
export const STRONG_PASSWORD
|
||
= /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z\d]).{8,}$/;
|
||
|
||
/**
|
||
* 匹配完整的HTML标签,包括开始标签和结束标签。
|
||
*/
|
||
export const HTML_TAG = /<[^>]*>/g;
|
||
|
||
/**
|
||
* 匹配中国大陆的邮政编码。
|
||
*/
|
||
export const POSTAL_CODE = /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/g;
|