validator.js
13.12.0

字符串验证器和消毒器的库。
该图书馆仅验证并消毒字符串。
如果您不确定输入是否是字符串,请使用input + ''限制它。传递字符串以外的任何内容都会导致错误。
安装validator软件包以:
npm i validator
yarn add validator
pnpm i validator var validator = require ( 'validator' ) ;
validator . isEmail ( '[email protected]' ) ; //=> true import validator from 'validator' ;或者,仅导入库的一个子集:
import isEmail from 'validator/lib/isEmail' ; import isEmail from 'validator/es/lib/isEmail' ;可以将库作为独立脚本加载,也可以通过与AMD兼容的加载程序加载
< script type =" text/javascript " src =" validator.min.js " > </ script >
< script type =" text/javascript " >
validator . isEmail ( '[email protected]' ) ; //=> true
</ script >库也可以通过鲍尔安装
$ bower install validator-jsCDN
< script src =" https://unpkg.com/validator@latest/validator.min.js " > </ script > 这是当前可用的验证器的列表。
| 验证器 | 描述 |
|---|---|
| 包含(str,seed [,选项]) | 检查字符串是否包含种子。options是默认为{ ignoreCase: false, minOccurrences: 1 }的对象。选项: ignoreCase :进行比较时忽略案例,默认为false。minOccurrences :弦中种子的最小发生数量。默认为1。 |
| 等于(str,比较) | 检查字符串是否匹配比较。 |
| iSabarouting(str) | 检查字符串是否是美国银行帐户 /支票的ABA路由号码。 |
| ISAFTER(str [,options]) | 检查字符串是否是指定日期之后的日期。options是一个默认为{ comparisonDate: Date().toString() }对象。选项: comparisonDate :比较日期。默认为Date().toString() (现在)。 |
| isalpha(str [,locale,options]) | 检查字符串是否仅包含字母(A-ZA-Z)。locale is one of ['ar', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN', 'ar-YE', 'bg-BG', 'bn', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB', 'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'eo', 'es-ES', 'fa-IR', 'fi-FI', 'fr-CA', 'fr-FR', 'he', 'hi-IN', 'hu-HU', 'it-IT', 'kk-KZ', 'ko-KR', 'ja-JP', 'ku-IQ', 'nb-NO', 'nl-NL', 'nn-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'si-LK', 'sl-SI', 'sk-SK', 'sr-RS', 'sr-RS@latin', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA']和默认为en-US 。语言环境列表是validator.isAlphaLocales 。 options是一个可选的对象,可以提供以下密钥: ignore可以忽略的字符串或言语的忽略,例如“ - ”将忽略空格和-s。 |
| isalphanumeric(str [,locale,options]) | 检查字符串是否仅包含字母和数字(A-ZA-Z0-9)。locale is one of ['ar', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN', 'ar-YE', 'bn', 'bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB', 'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'eo', 'es-ES', 'fa-IR', 'fi-FI', 'fr-CA', 'fr-FR', 'he', 'hi-IN', 'hu-HU', 'it-IT', 'kk-KZ', 'ko-KR', 'ja-JP','ku-IQ', 'nb-NO', 'nl-NL', 'nn-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'si-LK', 'sl-SI', 'sk-SK', 'sr-RS', 'sr-RS@latin', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA']和默认为en-US 。语言环境列表是validator.isAlphanumericLocales 。 options是一个可选的对象,可以提供以下密钥: ignore可以忽略的字符串或言语的忽略,例如“ - ”将忽略空格和-s。 |
| isascii(str) | 检查字符串是否仅包含ASCII字符。 |
| ISBASE32(str [,options]) | 检查字符串是否为BASE32编码。 options是可选的,默认为{ crockford: false } 。当 crockford为真时,它会使用Crockford的Base32替代方案测试给定的Base32编码字符串。 |
| ISBASE58(str) | 检查字符串是否为基本58。 |
| ISBASE64(str [,options]) | 检查字符串是否为基本64。 options是可选的,默认为{ urlSafe: false }当 urlSafe为True时,它将测试给定的Base64编码字符串URL安全。 |
| 从(str [,date]) | 检查字符串是否是指定日期之前的日期。 |
| isbic(str) | 检查字符串是BIC(银行标识代码)还是SWIFT代码。 |
| isboolean(str [,选项]) | 检查字符串是否为布尔值。options是默认为{ loose: false }对象。如果将loose设置为false,则验证器将严格匹配['true','false','0','1']。如果将loose设置为true,则验证器还将匹配“是”,“否”,并且将与任何情况的有效布尔字符串匹配。 (例如:['true','true','true'])。 |
| isbtcaddress(str) | 检查字符串是否是有效的BTC地址。 |
| isbyTeLength(str [,options]) | 检查字符串的长度(在UTF-8字节中)是否属于范围。options是一个默认为{ min: 0, max: undefined }对象。 |
| isCreditCard(str [,options]) | 检查字符串是否是信用卡号。options是可选的对象,可以提供以下密钥: provider是一个可选的密钥,其值应为字符串,并定义公司发行信用卡的公司。有效值包括['amex', 'dinersclub', 'discover', 'jcb', 'mastercard', 'unionpay', 'visa']或空白将检查任何提供商。 |
| ISCRURRENCY(str [,options]) | 检查字符串是否是有效的货币金额。options is an object which defaults to { symbol: '$', require_symbol: false, allow_space_after_symbol: false, symbol_after_digits: false, allow_negatives: true, parens_for_negatives: false, negative_sign_before_digits: false, negative_sign_after_digits: false, allow_negative_sign_placeholder: false, thousands_separator: ',', decimal_separator: '.', allow_decimal: true, require_decimal: false, digits_after_decimal: [2], allow_space_after_digits: false } 。注意:阵列 digits_after_decimal填充了允许的数字的确切数量,而不是范围,例如范围1至3将以[1,2,3]。 |
| isdatauri(str) | 检查字符串是否为数据URI格式。 |
| ISDATE(str [,选项]) | 检查字符串是否是有效的日期。例如[ 2002-07-15 ,new Date()]。options是一个可以包含键format , strictMode和/或delimiters对象。format是字符串,默认为YYYY/MM/DD 。strictMode是一个布尔值,默认为false 。如果strictMode设置为true,则验证器将拒绝与format不同的字符串。delimiters是允许的日期定界符和默认值为['/', '-']的数组。 |
| ISDECIMAL(str [,options]) | 检查字符串是否表示十进制数字,例如0.1,.3、1.1、1.00003、4.0等。options是一个默认为{force_decimal: false, decimal_digits: '1,', locale: 'en-US'}对象。locale确定小数分离器,并且是['ar', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN', 'ar-YE', 'bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB', 'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'eo', 'es-ES', 'fa', 'fa-AF', 'fa-IR', 'fr-FR', 'fr-CA', 'hu-HU', 'id-ID', 'it-IT', 'ku-IQ', 'nb-NO', 'nl-NL', 'nn-NO', 'pl-PL', 'pl-Pl', 'pt-BR', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS', 'sr-RS@latin', 'sv-SE', 'tr-TR', 'uk-UA', 'vi-VN'] 。注意: decimal_digits以'1,3'之类的范围给出,特定值'3'或min(如'1')。 |
| Isdivisible(str,数字) | 检查字符串是否由另一个数字排除。 |
| 伊斯(str) | 检查字符串是否是EAN(欧洲文章编号)。 |
| iSemail(str [,选项]) | 检查字符串是否是电子邮件。options是一个默认为{ allow_display_name: false, require_display_name: false, allow_utf8_local_part: true, require_tld: true, allow_ip_domain: false, allow_underscores: false, domain_specific_validation: false, blacklisted_chars: '', host_blacklist: [] }如果将allow_display_name设置为true,则验证器还将匹配Display Name <email-address> 。如果require_display_name设置为true,则验证器将拒绝没有格式Display Name <email-address>字符串。如果将allow_utf8_local_part设置为false,则验证器将在电子邮件地址的本地部分中允许任何非英语UTF8字符。如果将require_tld设置为false,则在其域中没有TLD的电子邮件地址也将匹配。如果ignore_max_length设置为true,则验证器将不会检查电子邮件的标准最大长度。如果将allow_ip_domain设置为true,则验证器将允许主机部件中的IP地址。如果domain_specific_validation为True,将启用一些其他验证,例如,不允许Gmail拒绝的某些句法有效的电子邮件地址。如果blacklisted_chars收到一个字符串,则验证器将拒绝在名称部分中包含字符串中任何字符的电子邮件。如果将host_blacklist设置为字符串或REGEXP数组,并且@符号之后的电子邮件部分匹配了其中定义的一个字符串,则验证失败。如果将host_whitelist设置为字符串或REGEXP数组,并且@符号后电子邮件的一部分与其中定义的任何字符串匹配,则验证失败。 |
| Isempty(str [,选项]) | 检查字符串是否为零。options是一个默认为{ ignore_whitespace: false }对象。 |
| Isethereumaddress(str) | 检查字符串是否是以太坊地址。不验证地址校验和。 |
| iSfloat(str [,options]) | 检查字符串是否为浮子。options是一个可以包含键min , max , gt和/或lt对象,以验证Float在边界内(例如{ min: 7.22, max: 9.55 } ),它也具有locale作为选项。min和max等同于“更大或相等”和“较少或相等”,而gt和lt是严格的对应物。locale确定小数分离器,并且是['ar', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN', 'ar-YE', 'bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'en-AU', 'en-GB', 'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'eo', 'es-ES', 'fr-CA', 'fr-FR', 'hu-HU', 'it-IT', 'nb-NO', 'nl-NL', 'nn-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS', 'sr-RS@latin', 'sv-SE', 'tr-TR', 'uk-UA'] 。语言环境列表是validator.isFloatLocales 。 |
| isfqdn(str [,options]) | 检查字符串是否是完全合格的域名(例如domain.com)。options是一个默认为{ require_tld: true, allow_underscores: false, allow_trailing_dot: false, allow_numeric_tld: false, allow_wildcard: false, ignore_max_length: false } 。如果将allow_wildcard设置为true,则验证器将允许域以*. (例如*.example.com或*.shop.example.com )。 |
| isfreightContainerId(str) | isISO6346的别名,检查字符串是否是有效的ISO 6346运输容器标识。 |
| isfullwidth(str) | 检查字符串是否包含任何全宽字符。 |
| ishalfwidth(str) | 检查字符串是否包含任何半宽字符。 |
| ishash(str,算法) | 检查字符串是否是类型算法的哈希。 算法是 ['crc32', 'crc32b', 'md4', 'md5', 'ripemd128', 'ripemd160', 'sha1', 'sha256', 'sha384', 'sha512', 'tiger128', 'tiger160', 'tiger192'] |
| ishexadecimal(str) | 检查字符串是否为十六进制号。 |
| ishexcolor(str) | 检查字符串是否为十六进制颜色。 |
| ISHSL(str) | 检查字符串是基于CSS颜色4规格的HSL(色调,饱和度,轻度,可选α)颜色。 支持逗号分隔格式。除几个边缘情况外,支持空间分隔格式(EX: hsl(200grad+.1%62%/1) )。 |
| isiban(str,[,选项]) | 检查字符串是否是IBAN(国际银行帐号)。options是一个接受两个属性的对象: whitelist :您可以在其中限制要从和blacklist接收数据的IBAN代码:您可以从当前列表中删除某些国家 /地区。对于两者,您都可以使用具有以下值的数组['AD','AE','AL','AT','AZ','BA','BE','BG','BH','BR','BY','CH','CR','CY','CZ','DE','DK','DO','EE','EG','ES','FI','FO','FR','GB','GE','GI','GL','GR','GT','HR','HU','IE','IL','IQ','IR','IS','IT','JO','KW','KZ','LB','LC','LI','LT','LU','LV','MC','MD','ME','MK','MR','MT','MU','MZ','NL','NO','PK','PL','PS','PT','QA','RO','RS','SA','SC','SE','SI','SK','SM','SV','TL','TN','TR','UA','VA','VG','XK'] 。 |
| IsidentityCard(str [,locale]) | 检查字符串是否是有效的身份证代码。locale是['LK', 'PL', 'ES', 'FI', 'IN', 'IT', 'IR', 'MZ', 'NO', 'TH', 'zh-TW', 'he-IL', 'ar-LY', 'ar-TN', 'zh-CN', 'zh-HK', 'PK'] 'any' ','如果使用“任何”,则功能将检查任何一个语言环境是否匹配。默认为“任何”。 |
| Isimei(str [,options])) | 检查字符串是否是有效的IMEI号码。 IMEI应为##-######-######-# ###############options是一个可以包含密钥allow_hyphens对象。默认为第一个格式。如果将allow_hyphens设置为true,则验证器将验证第二格式。 |
| isin(str,值) | 检查字符串是否在允许值的数组中。 |
| ISINT(str [,选项]) | 检查字符串是否是整数。options是一个可以包含密钥min和/或max对象,以检查整数在边界内(例如{ min: 10, max: 99 } )。 options还可以包含键allow_leading_zeroes ,将其设置为false时会禁止使用引导零的整数值(例如{ allow_leading_zeroes: false } )。最后, options可以包含键gt和/或lt ,该键将强制执行整数大于或小于或小于所提供的值(例如{gt: 1, lt: 4}对于1到4之间的数字)。 |
| ISIP(str [,版本]) | 检查字符串是IP(版本4还是6)。 |
| isiprange(str [,版本]) | 检查字符串是IP范围(版本4或6)。 |
| ISISBN(str [,选项]) | 检查字符串是否为ISBN。options是一个没有默认值的对象。选项: version :ISBN版本要进行比较。公认的值是“ 10”和“ 13”。如果没有提供,则将测试两者。 |
| isisin(str) | 检查字符串是否为ISIN(库存/安全标识符)。 |
| ISISO6346(str) | 检查字符串是否是有效的ISO 6346运输容器标识。 |
| ISISO6391(str) | 检查字符串是否是有效的ISO 639-1语言代码。 |
| ISISO8601(str [,options]) | 检查字符串是否是有效的ISO 8601日期。options是默认为{ strict: false, strictSeparator: false }的对象。如果strict是正确的,则具有无效日期(例如2009-02-29的日期字符串将是无效的。如果strictSeparator是真实的,则日期字符串与t以外的任何其他事物分隔的日期和时间将无效。 |
| ISISO31661Alpha2(str) | 检查字符串是否是有效的ISO 3166-1 alpha-2正式分配的国家代码。 |
| ISISO31661Alpha3(str) | 检查字符串是否是有效的ISO 3166-1 alpha-3正式分配的国家代码。 |
| ISISO31661Numeric(Str) | 检查字符串是否是有效的ISO 3166-1数字正式分配的国家代码。 |
| ISISO4217(str) | 检查字符串是否是有效的ISO 4217正式分配的货币代码。 |
| ISISRC(str) | 检查字符串是否为ISRC。 |
| ISISSN(str [,选项]) | 检查字符串是否是ISSN。options是一个默认为{ case_sensitive: false, require_hyphen: false }的对象。如果case_sensitive是正确的,则拒绝检查数字时具有小写的'x'的ISSN。 |
| iSjson(str [,options]) | 检查字符串是否有效JSON(注意:使用JSON.PARSE)。options是一个默认为{ allow_primitives: false }对象。如果allow_primitives是正确的,则原始词“ true”,“ false”和“ null”被接受为有效的JSON值。 |
| isjwt(str) | 检查字符串是否有效JWT令牌。 |
| islatlong(str [,options]) | 检查字符串是格式lat,long还是lat, long的有效纬度坐标。options是默认为{ checkDMS: false }的对象。将checkDMS通过为true验证dms(度,分钟和秒)纬度长度格式。 |
| islength(str [,options]) | 检查字符串的长度是否落在范围内,等于提供的discreteLengths阵列的任何整数。options是一个默认为{ min: 0, max: undefined, discreteLengths: undefined }对象。注意:此功能考虑了替代对。 |
| islicenseplate(str,Locale) | 检查字符串是否匹配一个国家车牌的格式。locale是['cs-CZ', 'de-DE', 'de-LI', 'en-IN', 'en-SG', 'en-PK', 'es-AR', 'hu-HU', 'pt-BR', 'pt-PT', 'sq-AL', 'sv-SE']或'any' 。 |
| islocale(str) | 检查字符串是否是区域。 |
| 等轴(str) | 检查字符串是否小写。 |
| isluhnnumber(str) | 检查字符串是否通过Luhn算法检查。 |
| ismacaddress(str [,options]) | 检查字符串是否是MAC地址。options是一个默认为{ no_separators: false }对象。如果no_separators是正确的,则验证器将允许没有分离器的MAC地址。此外,它允许使用连字符,空间或点EG '01 02 03 04 05 AB','01 -02-03-03-04-04-05-AB'或'0102.0304.05AB'。这些选项还允许eui属性指定是否需要针对EUI-48或EUI-64进行验证。 eui的公认值为:48,64。 |
| ismagneturi(str) | 检查字符串是否为磁铁URI格式。 |
| ismailtouri(str,[,options]) | 检查字符串是否为mailto URI格式。options是验证URI内部电子邮件的对象(查看isEmail S选项以获取详细信息)。 |
| ISMD5(str) | 检查字符串是否为MD5哈希。 请注意,您还可以使用 isHash(str, 'md5')功能。请记住,与其他算法(例如SHA)相比,MD5具有一些碰撞弱点。 |
| iSmimetype(str) | 检查字符串是否匹配有效的MIME类型格式。 |
| ismobilephone(str [,locale [,options]]) | 检查字符串是否是手机号码,locale is either an array of locales (eg ['sk-SK', 'sr-RS'] ) OR one of ['am-Am', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-EH', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-PS', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN', 'ar-YE', 'az-AZ', 'az-LB', 'az-LY', 'be-BY', 'bg-BG', 'bn-BD', 'bs-BA', 'ca-AD', 'cs-CZ', 'da-DK', 'de-AT', 'de-CH', 'de-DE', 'de-LU', 'dv-MV', 'dz-BT', 'el-CY', 'el-GR', 'en-AG', 'en-AI', 'en-AU', 'en-BM', 'en-BS', 'en-BW', 'en-CA', 'en-GB', 'en-GG', 'en-GH', 'en-GY', 'en-HK', 'en-IE', 'en-IN', 'en-JM', 'en-KE', 'en-KI', 'en-KN', 'en-LS', 'en-MO', 'en-MT', 'en-MU', 'en-MW', 'en-NG', 'en-NZ', 'en-PG', 'en-PH', 'en-PK', 'en-RW', 'en-SG', 'en-SL', 'en-SS', 'en-TZ', 'en-UG', 'en-US', 'en-ZA', 'en-ZM', 'en-ZW', 'es-AR', 'es-BO', 'es-CL', 'es-CO', 'es-CR', 'es-CU', 'es-DO', 'es-EC', 'es-ES', 'es-GT','es-HN', 'es-MX', 'es-NI', 'es-PA', 'es-PE', 'es-PY', 'es-SV', 'es-UY', 'es-VE', 'et-EE', 'fa-AF', 'fa-IR', 'fi-FI', 'fj-FJ', 'fo-FO', 'fr-BE', 'fr-BF', 'fr-BJ', 'fr-CD', 'fr-CF', 'fr-FR', 'fr-GF', 'fr-GP', 'fr-MQ', 'fr-PF', 'fr-RE', 'fr-WF', 'ga-IE', 'he-IL', 'hu-HU', 'id-ID', 'ir-IR', 'it-IT', 'it-SM', 'ja-JP', 'ka-GE', 'kk-KZ', 'kl-GL', 'ko-KR', 'ky-KG', 'lt-LT', 'mg-MG', 'mn-MN', 'ms-MY', 'my-MM', 'mz-MZ', 'nb-NO', 'ne-NP', 'nl-AW', 'nl-BE', 'nl-NL', 'nn-NO', 'pl-PL', 'pt-AO', 'pt-BR', 'pt-PT', 'ro-Md', 'ro-RO', 'ru-RU', 'si-LK', 'sk-SK', 'sl-SI', 'so-SO', 'sq-AL', 'sr-RS', 'sv-SE', 'tg-TJ', 'th-TH', 'tk-TM', 'tr-TR', 'uk-UA', 'uz-UZ', 'vi-VN', 'zh-CN', 'zh-HK', 'zh-MO', 'zh-TW']或默认为'any' 。如果使用了“任何”或错误的值,则功能将检查任何一个位置是否匹配)。options是一个可选的对象,可以提供以下键: strictMode ,如果将其设置为true ,则必须将移动电话号码与国家代码一起提供,因此必须以+开始。语言环境列表是validator.isMobilePhoneLocales 。 |
| ismongoid(str) | 检查字符串是否是MongoDB objectid的有效的十六进制编码表示。 |
| iSmultibyte(str) | 检查字符串是否包含一个或多个多重字符符。 |
| ISNumeric(str [,options]) | 检查字符串是否仅包含数字。options是一个默认为{ no_symbols: false }的对象,它也具有locale作为选项。如果no_symbols为真,则验证器将拒绝具有符号(例如+ , - ,或. )的数字字符串。locale确定小数分离器,并且是['ar', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-QA', 'ar-QM', 'ar-SA', 'ar-SD', 'ar-SY', 'ar-TN', 'ar-YE', 'bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'en-AU', 'en-GB', 'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'eo', 'es-ES', 'fr-FR', 'fr-CA', 'hu-HU', 'it-IT', 'nb-NO', 'nl-NL', 'nn-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS', 'sr-RS@latin', 'sv-SE', 'tr-TR', 'uk-UA'] 。 |
| iSoctal(str) | 检查字符串是否是有效的八进制号码。 |
| ISPASSPORTNUMBER(Str,country Code) | 检查字符串是否是有效的护照号码。countryCode是['AM', 'AR', 'AT', 'AU', 'AZ', 'BE', 'BG', 'BY', 'BR', 'CA', 'CH', 'CN', 'CY', 'CZ', 'DE', 'DK', 'DZ', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IN', 'IR', 'ID', 'IS', 'IT', 'JM', 'JP', 'KR', 'KZ', 'LI', 'LT', 'LU', 'LV', 'LY', 'MT', 'MX', 'MY', 'MZ', 'NL', 'NZ', 'PH', 'PK', 'PL', 'PT', 'RO', 'RU', 'SE', 'SL', 'SK', 'TH', 'TR', 'UA', 'US', 'ZA'] 。语言环境列表是validator.passportNumberLocales 。 |
| iSport(str) | 检查字符串是否是有效的端口号。 |
| IspostalCode(Str,Locale) | 检查字符串是否是邮政编码。locale is one of ['AD', 'AT', 'AU', 'AZ', 'BA', 'BE', 'BG', 'BR', 'BY', 'CA', 'CH', 'CN', 'CO', 'CZ', 'DE', 'DK', 'DO', 'DZ', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IR', 'IS', 'IT', 'JP', 'KE', 'KR', 'LI', 'LK', 'LT', 'LU', 'LV', 'MG', 'MT', 'MX', 'MY', 'NL', 'NO', 'NP', 'NZ', 'PL', 'PR', 'PT', 'RO', 'RU', 'SA', 'SE', 'SG', 'SI', 'SK', 'TH', 'TN', 'TW', 'UA', 'US', 'ZA', 'ZM'] 'any'如果使用“任何”,则功能将检查任何一个语言环境是否匹配。语言环境列表是validator.isPostalCodeLocales 。 |
| ISRFC3339(str) | 检查字符串是否是有效的RFC 3339日期。 |
| isrgbcolor(str [,options]) | 检查字符串是RGB还是RGBA颜色。options是具有以下属性的对象includePercentValues默认为true 。如果您不想允许使用Percents设置rgb或rgba值,例如rgb(5%,5%,5%)或rgba(90%,90%,90%,.3) ,然后将其设置为false。allowSpaces默认为true ,这禁止空格。如果设置为false,则允许颜色值之间的空格,例如rgb(255, 255, 255)甚至rgba(255, 128, 0, 0.7) 。 |
| ISSEMVER(STR) | 检查字符串是否是语义版本指定(SEMVER)。 |
| IssurrogatePair(STR) | 检查字符串是否包含任何替代对符。 |
| ISHEPCASE(STR) | 检查字符串是否是大写。 |
| ISSLUG(str) | 检查字符串是否是类型的slug。 |
| isstrongPassword(str [,选项]) | 检查字符串是否可以视为强密码。允许自定义要求或评分规则。如果returnScore为True,则该功能将返回密码而不是布尔值的整数得分。默认选项: { minLength: 8, minLowercase: 1, minUppercase: 1, minNumbers: 1, minSymbols: 1, returnScore: false, pointsPerUnique: 1, pointsPerRepeat: 0.5, pointsForContainingLower: 10, pointsForContainingUpper: 10, pointsForContainingNumber: 10, pointsForContainingSymbol: 10 } |
| 是时间(str [,选项]) | 检查字符串是否是有效的时间,例如[ 23:01:59 ,new Date()。tolocaletimestring()]。options是可以包含键hourFormat或mode对象。hourFormat是关键,默认为'hour24' 。mode是关键,默认为'default' 。hourFormat可以包含'hour12'或'hour24' , 'hour24'值,将以24格式验证小时,而'hour12'将以12格式验证小时。mode可以包含'default'值或'withSeconds' , 'default'将验证HH:MM格式, 'withSeconds'将验证HH:MM:SS格式。 |
| iStaxid(str,Locale) | 检查字符串是否是有效的税收标识号。默认环境是en-US 。有关确切锡支持的更多信息,请参见 src/lib/isTaxID.js 。Supported locales: [ 'bg-BG', 'cs-CZ', 'de-AT', 'de-DE', 'dk-DK', 'el-CY', 'el-GR', 'en-CA', 'en-GB', 'en-IE', 'en-US', 'es-AR', 'es-ES', 'et-EE', 'fi-FI', 'fr-BE', 'fr-CA', 'fr-FR', 'fr-LU', 'hr-HR', 'hu-HU', 'it-IT', 'lb-LU', 'lt-LT', 'lv-LV', 'mt-MT', 'nl-BE', 'nl-NL', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'sk-SK', 'sl-SI', 'sv-SE', 'uk-UA'] 。 |
| isurl(str [,选项]) | 检查字符串是否为URL。options is an object which defaults to { protocols: ['http','https','ftp'], require_tld: true, require_protocol: false, require_host: true, require_port: false, require_valid_protocol: true, allow_underscores: false, host_whitelist: false, host_blacklist: false, allow_trailing_dot: false, allow_protocol_relative_urls: false, allow_fragments: true, allow_query_components: true, disallow_auth: false, validate_length: true } 。require_protocol如果设置为true ISURL,则如果不在URL中存在协议,则会返回false。require_valid_protocol ISURL将检查协议选项中的URL协议是否存在。protocols - 可以通过此选项修改有效协议。require_host如果设置为false ISURL,则不会检查URL中是否存在主机。require_port如果设置为true Isurl,将检查URL中是否存在端口。allow_protocol_relative_urls如果设置为真协议相对URL。allow_fragments如果设置为false Isurl,如果存在片段,将返回false。allow_query_components如果设置为false Isurl,如果存在查询组件,将返回false。validate_length如果设置为false ISURL将跳过字符串长度验证。如果将其设置为false , max_allowed_length将被忽略。max_allowed_length如果设置ISURL将不允许URL更长的URL超过指定值(默认值为2084,即最大URL长度)。 |
| iSulid(str) | 检查字符串是否为ULID。 |
| ISUUID(str [,版本]) | 检查字符串是否为RFC9562 UUID。version是'1' - '8' , 'nil' , 'max'或'all'之一。 |
| iSVariableWidth(str) | 检查字符串是否包含完整和半宽的字符的混合物。 |
| ISVAT(Str,乡村代码) | 检查字符串是否是有效的增值税号,如果给定的国家代码匹配ISO 3166-1 alpha-2是否可用。countryCode是['AL', 'AR', 'AT', 'AU', 'BE', 'BG', 'BO', 'BR', 'BY', 'CA', 'CH', 'CL', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DK', 'DO', 'EC', 'EE', 'EL', 'ES', 'FI', 'FR', 'GB', 'GT', 'HN', 'HR', 'HU', 'ID', 'IE', 'IL', 'IN', 'IS', 'IT', 'KZ', 'LT', 'LU', 'LV', 'MK', 'MT', 'MX', 'NG', 'NI', 'NL', 'NO', 'NZ', 'PA', 'PE', 'PH', 'PL', 'PT', 'PY', 'RO', 'RS', 'RU', 'SA', 'SE', 'SI', 'SK', 'SM', 'SV', 'TR', 'UA', 'UY', 'UZ', 'VE'] 。 |
| Iswhitelisted(str,chars) | 检查字符串是否仅由白名单chars中出现的字符组成。 |
| 匹配(str,模式[,修饰符]) | 检查字符串是否匹配模式。matches('foo', /foo/i)或matches('foo', 'foo', 'i') 。 |
这是当前可用的消毒剂列表。
| 消毒剂 | 描述 |
|---|---|
| 黑名单(输入,字符) | 删除出现在黑名单中的字符。字符在REGEXP中使用,因此您需要逃脱一些字符,例如blacklist(input, '\[\]') 。 |
| 逃脱(输入) | 替换< , > , & , ' , " ` 和/用html实体。 |
| ltrim(输入[,chars]) | 从输入的左侧进行修剪字符。 |
| 标准邮件(电子邮件[,选项]) | 规范化电子邮件地址。 (如果您想事先验证电子邮件使用isemail,则不能验证输入是电子邮件)。options是具有以下键和默认值的对象:
|
| rtrim(输入[,chars]) | 从输入的右侧进行修剪字符。 |
| Striplow(输入[,keep_new_lines]) | 删除具有数值<32和127的字符,主要是控制字符。如果keep_new_lines是true ,则保留了newline字符( n和r ,hex 0xA和0xD )。 JavaScript中的Unicode安全。 |
| toboolean(输入[,strict]) | 将输入字符串转换为布尔值。除'0' , 'false'和''以外的所有内容都返回true 。在严格的模式下,仅'1'和'true'返回true 。 |
| Todate(输入) | 将输入字符串转换为日期,如果输入不是日期,则将输入字符串转换null 。 |
| TOFLOAT(输入) | 如果输入不是浮点,则将输入字符串转换为浮子,或NaN 。 |
| toint(输入[,radix]) | 如果输入不是整数,则将输入字符串转换为整数或NaN 。 |
| TRIM(输入[,chars]) | 从输入的两侧进行修剪字符(默认情况下的空格)。 |
| unescape(输入) | 用< , > ` & ' " / HTML编码的实体。 |
| 白名单(输入,字符) | 删除未出现在白名单中的字符。字符在Regexp中使用,因此您需要逃脱一些字符,例如whitelist(input, '\[\]') 。 |
XSS消毒在2D5D6999中从图书馆中删除。
替代方案,请查看Yahoo的XSS滤波器库或Dompurify。
请记住,有时验证可能会很麻烦。请参阅有关通常不正确的编程假设的文章列表。
我们欢迎社区的捐款!如果您有兴趣为该项目做出贡献,请阅读我们的入门贡献指南。
该项目已在麻省理工学院获得许可。有关详细信息,请参见许可证文件。