UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

42 lines (39 loc) 4.52 kB
/** * https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/names/ const dns1123LabelFmt string = "[a-z0-9]([-a-z0-9]*[a-z0-9])?" const dns1123SubdomainFmt string = dns1123LabelFmt + "(\\." + dns1123LabelFmt + ")*" const dns1123SubdomainErrorMsg string = "a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character" // DNS1123SubdomainMaxLength is a subdomain's max length in DNS (RFC 1123) const DNS1123SubdomainMaxLength int = 253 var dns1123SubdomainRegexp = regexp.MustCompile("^" + dns1123SubdomainFmt + "$") // IsDNS1123Subdomain tests for a string that conforms to the definition of a // subdomain in DNS (RFC 1123). func IsDNS1123Subdomain(value string) []string { var errs []string if len(value) > DNS1123SubdomainMaxLength { errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength)) } if !dns1123SubdomainRegexp.MatchString(value) { errs = append(errs, RegexError(dns1123SubdomainErrorMsg, dns1123SubdomainFmt, "example.com")) } return errs } */ export function DNS1123SubdomainValidator(ctrl) { const value = ctrl.value; if (!value) { return null; } if (value.length > 253) { return { domain: true, }; } const regex = /^[\da-z]([\da-z-]*[\da-z])?(\.[\da-z]([\da-z-]*[\da-z])?)*$/; return regex.test(value) ? null : { domain: true, }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zMTEyMy1zdWJkb21haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL2RuczExMjMtc3ViZG9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFxQjtJQUM3RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBZSxDQUFDO0lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLDZEQUE2RCxDQUFDO0lBQzVFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUM7WUFDRSxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7QUFDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIGh0dHBzOi8va3ViZXJuZXRlcy5pby96aC9kb2NzL2NvbmNlcHRzL292ZXJ2aWV3L3dvcmtpbmctd2l0aC1vYmplY3RzL25hbWVzL1xuICBjb25zdCBkbnMxMTIzTGFiZWxGbXQgc3RyaW5nID0gXCJbYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pP1wiXG4gIGNvbnN0IGRuczExMjNTdWJkb21haW5GbXQgc3RyaW5nID0gZG5zMTEyM0xhYmVsRm10ICsgXCIoXFxcXC5cIiArIGRuczExMjNMYWJlbEZtdCArIFwiKSpcIlxuICBjb25zdCBkbnMxMTIzU3ViZG9tYWluRXJyb3JNc2cgc3RyaW5nID0gXCJhIGxvd2VyY2FzZSBSRkMgMTEyMyBzdWJkb21haW4gbXVzdCBjb25zaXN0IG9mIGxvd2VyIGNhc2UgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsICctJyBvciAnLicsIGFuZCBtdXN0IHN0YXJ0IGFuZCBlbmQgd2l0aCBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyXCJcblxuICAvLyBETlMxMTIzU3ViZG9tYWluTWF4TGVuZ3RoIGlzIGEgc3ViZG9tYWluJ3MgbWF4IGxlbmd0aCBpbiBETlMgKFJGQyAxMTIzKVxuICBjb25zdCBETlMxMTIzU3ViZG9tYWluTWF4TGVuZ3RoIGludCA9IDI1M1xuXG4gIHZhciBkbnMxMTIzU3ViZG9tYWluUmVnZXhwID0gcmVnZXhwLk11c3RDb21waWxlKFwiXlwiICsgZG5zMTEyM1N1YmRvbWFpbkZtdCArIFwiJFwiKVxuXG4gIC8vIElzRE5TMTEyM1N1YmRvbWFpbiB0ZXN0cyBmb3IgYSBzdHJpbmcgdGhhdCBjb25mb3JtcyB0byB0aGUgZGVmaW5pdGlvbiBvZiBhXG4gIC8vIHN1YmRvbWFpbiBpbiBETlMgKFJGQyAxMTIzKS5cbiAgZnVuYyBJc0ROUzExMjNTdWJkb21haW4odmFsdWUgc3RyaW5nKSBbXXN0cmluZyB7XG4gICAgdmFyIGVycnMgW11zdHJpbmdcbiAgICBpZiBsZW4odmFsdWUpID4gRE5TMTEyM1N1YmRvbWFpbk1heExlbmd0aCB7XG4gICAgICBlcnJzID0gYXBwZW5kKGVycnMsIE1heExlbkVycm9yKEROUzExMjNTdWJkb21haW5NYXhMZW5ndGgpKVxuICAgIH1cbiAgICBpZiAhZG5zMTEyM1N1YmRvbWFpblJlZ2V4cC5NYXRjaFN0cmluZyh2YWx1ZSkge1xuICAgICAgZXJycyA9IGFwcGVuZChlcnJzLCBSZWdleEVycm9yKGRuczExMjNTdWJkb21haW5FcnJvck1zZywgZG5zMTEyM1N1YmRvbWFpbkZtdCwgXCJleGFtcGxlLmNvbVwiKSlcbiAgICB9XG4gICAgcmV0dXJuIGVycnNcbiAgfVxuICovXG5leHBvcnQgZnVuY3Rpb24gRE5TMTEyM1N1YmRvbWFpblZhbGlkYXRvcihjdHJsOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgY29uc3QgdmFsdWUgPSBjdHJsLnZhbHVlIGFzIHN0cmluZztcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmICh2YWx1ZS5sZW5ndGggPiAyNTMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tYWluOiB0cnVlLFxuICAgIH07XG4gIH1cbiAgY29uc3QgcmVnZXggPSAvXltcXGRhLXpdKFtcXGRhLXotXSpbXFxkYS16XSk/KFxcLltcXGRhLXpdKFtcXGRhLXotXSpbXFxkYS16XSk/KSokLztcbiAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpXG4gICAgPyBudWxsXG4gICAgOiB7XG4gICAgICAgIGRvbWFpbjogdHJ1ZSxcbiAgICAgIH07XG59XG4iXX0=