@cmss/validate-rules

regex rules

Usage no npm install needed!

<script type="module">
  import cmssValidateRules from 'https://cdn.skypack.dev/@cmss/validate-rules';
</script>

README

正则表达式

正则表达式校验规则与校验文案,具体见 CONF(前端需求规格说明)

使用方法

#安装 
npm install --save @cmss/validate-rules 或者 yarn add @cmss/validate-rules  

#使用
import { xxx } from '@cmss/validate-rules';

业务规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |REQUIRED_RULE|value === required|REQUIRED_TIP|不能为空|通常用于非空校验|'required'| |COMMON_NAME_RULE|Regex|COMMON_NAME_TIP|仅允许中文、字母开头,长度限制132个字符,可包含字母、数字、中文、中划线、下划线|常规的名称校验,例如:流程名称、项目组名称等有中文场景|/^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9-_\u4e00-\u9fa5]{0,31}$/| |VARS_NAME_RULE|Regex|VARS_NAME_TIP|仅允许字母开头,长度限制132个字符,可包含字母、数字、中划线、下划线|变量名称、规范名称等无需中文场景|/^[a-zA-Z][a-zA-Z0-9-]{0,31}$/| |SHORT_NAME_RULE|Regex|SHORT_NAME_TIP|仅允许字母开头,长度限制1~20个字符,可包含字母、数字、中划线、下划线|简短的用户名|/^[a-zA-Z\u4e00-\u9fa5][-a-zA-Z0-9\u4e00-\u9fa5]{0,19}$/| |LONG_NAME_RULE|Regex|LONG_NAME_TIP|仅允许中文、字母开头,长度限制164个字符,可包含字母、数字、中文、中划线、下划线|可用于较长的名称限制,例如调度流程名称、监控流程名称等|/^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9-_\u4e00-\u9fa5]{0,63}$/| |SHORT_TAG_RULE|Regex|SHORT_TAG_TIP|只能包含字母、数字、中文、下划线,且不能以下划线开头,长度限制110个字符|短标签名称|/^[a-zA-Z0-9\u4E00-\u9FA5][a-zA-Z0-9_\u4E00-\u9FA5]{0,9}$/| |TAG_RULE|Regex|TAG_TIP|只能包含字母、数字、中文、下划线,且不能以下划线开头,长度限制232个字符|限定 2-32 字符的长标签名称|/^[a-zA-Z0-9\u4E00-\u9FA5][a-zA-Z0-9_\u4E00-\u9FA5]{1,31}$/| |TABLE_ALIAS_RULE|Regex|TABLE_ALIAS_TIP|只能包含字母、数字、中文、下划线,且不能以下划线开头,长度限制1200个字符|表的别名|/^[a-zA-Z0-9\u4E00-\u9FA5][a-zA-Z0-9_\u4E00-\u9FA5]{0,199}$/| |LENGTH_250_RULE|Length|LENGTH_250_TIP|不超过250个字符|无固定限制的描述文本,通常用于 TextArea|'250'| |DESC_LIMIT_RULE|Regex|DESC_LIMIT_TIP|只能包含字母、数字、中文、中划线、下划线,长度限制4~64个字符|有固定限制的描述文本|/^[\u4e00-\u9fa5a-zA-Z0-9_-]{4,64}$/| |COMMON_VALUE_RULE|Regex|COMMON_VALUE_TIP|只能包含字母、数字、中文、下划线|常见的值限制,例如数据标签的值|/^[\u4E00-\u9FA5A-Za-z0-9_]+$/|

通用规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |IPV4_RULE|Regex|IPV4_TIP|请输入正确IPV4地址|IPV4校验|/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/| |IPV6_RULE|Regex|IPV6_TIP|请输入正确IPV6地址|IPV6校验|/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b).){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b).){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b).){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i| |EMAIL_RULE|Regex|EMAIL_TIP|请输入正确邮箱地址|邮箱|/^[\w-]+(.[\w-]+)@[\w-]+(.[\w-]+)+$/| |PHONE_RULE|Regex|PHON_TIP|请输入正确手机号|11 位手机号|/^1[0-9]{10}$/| |PORT_RULE|Regex|PORT_TIP|请输入正确的端口号|端口号|/^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-5]{2}[0-3][0-5])$/| |VERSION_RULE|Regex|VERSION_TIP|仅允许字母、数字开头,长度限制1~6个字符,可包含字母、数字、小数点,且不允许以小数点结尾|版本号,例如 1.1.1|/^a-zA-Z0-9?$/| |NZPI_RULE|Regex|NZPI_TIP|请填写非0正整数|非0正整数|/^+?[1-9][0-9]$/| |PI_RULE|Regex|PI_TIP|请填写正整数|正整数|/^\d+$/| |undefined|Regex|LINE_TIP|仅支持数字(正整数),长度为1~100000|正整数|undefined| |INTEGER_RULE|Regex|INTEGER_TIP|请填写整数|整数|/^-?\d+$/| |IE_KERNEL_RULE|Regex|IE_KERNEL_TIP|浏览器为 IE|IE浏览器识别|/msie\s|trident/|edge//i| |undefined|Regex|VARS_VALUE_TIP|禁止全空格|禁止全空格|undefined|

ETL 规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |ETL_REF_NAME_RULE|Regex|ETL_REF_NAME_TIP|请确认填写格式|引用依赖|/${\S+}/| |ETL_CUSTOM_FUNC_RULE|Regex|ETL_CUSTOM_FUNC_TIP|可包含字母、数字、中文、中划线、下划线|自定义函数名称|/^[0-9A-Za-z_-\u4e00-\u9fa5]*$/| |DATETIME_SS_RULE|Regex|DATETIME_SS_TIP|请按 yyyyMMddHHmmss 格式正确填写|yyyyMMddHHmmss|/^[1-9]\d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(20|21|22|23|[0-1]\d)[0-5]\d[0-5]\d$/| |DATETIME_MI_RULE|Regex|DATETIME_MI_TIP|请按 yyyyMMddHHmm 格式正确填写|yyyyMMddHHmm|/^[1-9]\d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(20|21|22|23|[0-1]\d)[0-5]\d$/| |DATETIME_HH_RULE|Regex|DATETIME_HH_TIP|请按 yyyyMMddHH 格式正确填写|yyyyMMddHH|/^[1-9]\d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])(20|21|22|23|[0-1]\d)$/| |DATETIME_DD_RULE|Regex|DATETIME_DD_TIP|请按 yyyyMMdd 格式正确填写|yyyyMMdd|/^[1-9]\d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])$/| |DATETIME_MM_RULE|Regex|DATETIME_MM_TIP|请按 yyyyMM 格式正确填写|yyyyMM|/^[1-9]\d{3}(0[1-9]|1[0-2])$/|

HIVE 规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |HIVE_TABLE_NAME_RULE|Regex|HIVE_TABLE_NAME_TIP|只能包含字母、数字、下划线,且不能以下划线开头,不能是纯数字,长度限制1128个字符|表名/表字段|/^(?!\d+$)(?!^_)\w{1,127}$/| |HIVE_TABLE_ROW_RULE|Regex|HIVE_TABLE_ROW_TIP|只能包含字母、数字、中文、下划线,且不能以下划线开头,长度限制11024字符|列信息|/^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9-_\u4e00-\u9fa5]{0,1023}$/|

HIVE 规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |KAFKA_SASLNAME_RULE|Regex|KAFKA_SASLNAME_TIP|仅允许小写字母开头,长度限制4~64个字符,可包含字母,数字、中划线、下划线|sasl 用户名|/^[a-z][-0-9a-zA-Z]{3,63}$/| |KAFKA_TOPIC_RULE|Regex|KAFKA_TOPIC_TIP|长度为3-128个字符,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符|kafka Topic|/^[0-9A-Za-z-][0-9A-Za-z-]{3,127}$/| |KAFKA_GROUP_RULE|Regex|KAFKA_GROUP_TIP|长度为3-128个字符,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符|kafka Group|/^[0-9A-Za-z-][0-9A-Za-z-_]{3,127}$/|

MYSQL 规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |MYSQL_LINK_RULE|Regex|MYSQL_LINK_TIP|请填写正确的连接地址|连接地址校验|/(jdbc:mysql)://([\w.]+/?)\S*/| |MYSQL_NAME_RULE|Regex|MYSQL_NAME_TIP|仅允许字母开头,长度限制264个字符,可包含字母、数字、中划线、下划线,以字母或数字结尾|名称校验|/^[a-zA-Z][a-zA-Z0-9_-]{0,62}[a-zA-Z0-9]$/| |MYSQL_DB_NAME_RULE|Regex|MYSQL_DB_NAME_TIP|仅允许小写字母开头,长度限制264个字符,可包含小写字母、数字、下划线,以小写字母或数字结尾|数据库名称校验|/^[a-z][a-z0-9_]{0,62}[a-z0-9]$/| |MYSQL_ACCOUNT_RULE|Regex|MYSQL_ACCOUNT_TIP|仅允许小写字母开头,长度限制2~64个字符,可包含小写字母、数字、下划线,以小写字母或数字结尾|账号管理名称校验|/^[a-z][a-z0-9_]{0,62}[a-z0-9]$/|

Onest (对象存储)规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |ONEST_ACCESSKEY_RULE|Regex|ONEST_ACCESSKEY_TIP|可包含字母、数字,长度限制1128个字符|accessKey|/^[a-zA-Z0-9][a-zA-Z0-9]{0,127}$/| |ONEST_SECRETKEY_RULE|Regex|ONEST_SECRETKEY_TIP|可包含字母、数字,长度限制1128个字符|secretkey|/^[a-zA-Z0-9][a-zA-Z0-9]{0,127}$/| |ONEST_LINK_RULE|Regex|ONEST_LINK_TIP|请填写正确的连接URL|连接 URL|/(http|https)://([\w.]+/?)\S*/| |ONEST_DIR_RULE|Regex|ONEST_DIR_TIP|仅允许字母开头,长度限制464个字符,可包含字母、数字、下划线|Onest 文件夹名称|/^[A-Za-z][A-Za-z0-9_]{3,63}$/| |ONEST_BUCKET_RULE|Regex|ONEST_BUCKET_TIP|只能包含小写字母、数字、中划线,且不能以中划线开头和结尾,长度限制364个字符|桶名称|/^[a-z0-9][-a-z0-9]{0,61}[a-z0-9]$/|

其他不便于分类的规则

| 规则命名 | 规则使用 | 校验提示命名 | 规则校验提示 | 应用场景 | 正则表达式 | | -- | -- | -- | -- | -- | -- | |POLICY_NAME_RULE|Regex|POLICY_NAME_TIP|长度为4-64个字符,必须以字母开头,可以包含字母、数字或者中划线,不能包含其他的特殊字符|访问策略名称限制|/^[a-zA-Z][a-zA-Z0-9-]{3,63}$/| |NOTNULL_VARS_VALUE_RULE|Regex|NOTNULL_VARS_VALUE_TIP|长度为4-64个字符,必须以字母开头,可以包含字母、数字或者中划线,不能包含其他的特殊字符|非空变量|/^(?!(\s+$))/| |PATH_VALUE_RULE|Regex|PATH_VALUE_TIP|仅允许/开头,长度限制1200 个字符,可包含字母、数字、中划线、下划线,如/use|路径|/^(/[\w,-]){1,200}$/| |COMMON_PASSWORD_RULE|Regex|COMMON_PASSWORD_TIP|至少8位以上字符,且至少包含1个大写字母,1个小写字母和1个数字|常规的密码校验|/^(?=.[a-z])(?=.[A-Z])(?=.\d)[^]{8,}$/| |API_GROUPNAME_RULE|Regex|API_GROUPNAME_TIP|仅允许中文、字母开头,长度限制450 个字符,可包含字母、数字、中文、下划线||/^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9-\u4e00-\u9fa5]{3,49}$/| |CONNECOTR_NAME_RULLE|Regex|CONNECOTR_NAME_TIP|仅允许字母开头,长度限制4~32个字符,仅包含字母、数字、中划线或下划线||/^[a-zA-Z][a-zA-Z0-9-]{3,31}$/| |SCHEMA_FIELD_RULE|Regex|SCHEMA_FIELD_TIP|长度限制为1~64个字符,只允许包含大小写字母、数字、下划线, 首字母不能是数字||/^[A-Za-z_][0-9A-Za-z_]{0,63}$/|