送出表單的時候,前端驗證都可以繞過,這個時候就需要後端驗證了,本文就是介紹的nodejs後端的驗證子產品,validator
-- 安裝子產品
npm install validator
引入 var validator = require('validator');
-- 驗證介紹
contains(str, seed) : 是否包含字元串
equals(str, comparison) : 檢查字元串是否比對
isAfter(str [, date]) : 檢查字元串是否在指定的日期之後,預設是目前日期
isBefore(str [, date]) 和 isAfter類似
isAlpha(str [, locale]) : 檢查字元串是否隻包含(a-zA-Z).語言環境是其中之一
['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', 'cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-HK', 'en-IN',
'en-NZ', 'en-US', 'en-ZA', 'en-ZM', 'es-ES', 'fr-FR', 'hu-HU', 'nl-NL',
'pl-PL', 'pt-PT', 'ru-RU', 'tr-TR']
預設為:en-US
isAlphanumeric(str [, locale]) : 檢查字元串是否隻包含字母和數字,語言環境和上面一樣,預設也是 en-US
isAscii(str) : 檢查字元串是否隻包含ASCII字元
isBase64(str) : 檢查字元串是否符合base64編碼格式
isBoolean(str) : 檢查字元串是否是boolean值
isByteLength(str, options) : 檢查字元串的長度是否在一個範圍内,包含最大最小臨界值
isCreditCard(str) : 檢查字元串是否是信用卡
isCurrency(str, options) : 檢查字元串是否是有效金額,options是個對象 預設:{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_space_after_digits: false }.
isDataURI(str) : 檢查字元串是否是uri格式 isDate(str) : 檢查字元串是否是日期 isDecimal(str) : 檢查字元串是否是十進制數
isDivisibleBy(str, number) : 檢查字元串是否是整除的數 isEmail(str [, options]) : 檢查字元串是否是郵箱 ,options是一個對象預設為 { allow_display_name: false, allow_utf8_local_part: true, require_tld: true }
isFQDN(str [, options]) : 檢查字元串是否完全限定域名 , options是個對象,預設:{ require_tld: true, allow_underscores: false,allow_trailing_dot: false }.
isFloat(str [, options]) : 檢查字元串是否是浮點數, options是個對象,包含最大最小值,比如{min:0.5,max:10.5}
isFullWidth(str) : 檢查字元串是否包含全角字元
isHalfWidth(str) : 檢查字元串是否包含半角字元 isHexColor(str) : 檢查字元串是否是十六進制的顔色
isHexadecimal(str) : 檢查字元串是否是十六進制數
isIP(str [, version]) : 檢查字元串是否是一個IP(版本 4 , 6)
isISBN(str [, version]) : 檢查字元串是否是一個ISBN(版本10 ,13),ISBN是國際标準書号,老版本10位,新版本13位. isISIN(str) : 檢查字元串是否是ISIN , ISIN是國際證券識别編碼
isISO8601(str) : 檢查字元串是否是有效的ISO8601日期
isIn(str, values) : 檢查字元串是否在允許的值
isInt(str [, options]) : 檢查字元串是否是整數,options是個對象,包含最大值,最小值,比如{min:0,max:100} isJSON(str) : 檢查字元串是否是有效的json格式
isLength(str, options) : 檢查字元串長度是否在範圍内,options是個對象,包含最大值,最小值,比如{min:0,max:100}
isLowercase(str) : 檢查字元串是否都是小寫字母.
isMACAddress(str) : 檢查字元串是否是MAC位址
isMobilePhone(str, locale) : 檢查字元串是否是手機号,地區:['ar-DZ', 'ar-SY', 'cs-CZ', 'de-DE', 'da-DK', 'el-GR', 'en-AU', 'en-GB', 'en-HK', 'en-IN', 'en-NZ', 'en-US', 'en-CA', 'en-ZA', 'en-ZM', 'es-ES', 'fi-FI', 'fr-FR', 'hu-HU', 'ms-MY', 'nb-NO', 'nn-NO', 'pl-PL', 'pt-PT', 'ru-RU', 'tr-TR', 'vi-VN', 'zh-CN', 'zh-TW']).
isMongoId(str) : 檢查字元串是否是有效的mongodb objectid
isMultibyte(str) : 檢查字元串是否包含一個或多個多位元組字元
isNull(str) : 檢查字元串是否為空,(length為0)
isNumeric(str) : 檢查字元串是否隻包含數字
isSurrogatePair(str) : 檢查字元串是否包含 emoji表情字元 (主要是手機端)
isURL(str [, options]) : 檢查字元串是否是個URL
isUUID(str [, version]) : 檢查字元串是否是UUID(版本3,4,5)
isUppercase(str) : 檢查字元串是否是大寫
isVariableWidth(str) : 檢查字元串是否包含全角和半角混合字元.
isWhitelisted(str, chars) 檢查str是否都出現在chars中
matches(str, pattern [, modifiers]) : 檢查字元串是否比對,比如 : matches('foo', /foo/i)或 matches('foo', 'foo', 'i').
-- 方法介紹
blacklist(input, chars) : 删除出現在黑名單中的字元
var blacklist = validator.blacklist('abcdefga','a');
console.log('blacklist :', blacklist);
結果 : bcdegf
whitelist(input, chars) : 和blacklist相反
escape(input) : 将 <, >, &, ', " 和 / 轉換為html字元
var escape = validator.escape('< - > - & - /');
console.log('escape :', escape);
結果 : < - > - & - /
unescape(input) : 和 escape方法相反
var unescape = validator.unescape('< - > - & - /');
console.log('unescape :', unescape);
結果 : < - > - & - /
ltrim(input [, chars]) : 從左邊開始删除滿足chars中的字元,直到不滿足為止.
var ltrim = validator.ltrim('abcadefgabc','abc');
console.log('ltrim :', ltrim);
結果 : defgabc
rtrim(input [, chars]) : 和 ltrim類似,從右邊開始
trim(input [, chars]) : 從左右兩邊同時删除.
toBoolean(input [, strict]) : 轉換為boolean類型
toDate(input) : 轉換為日期類型
toFloat(input) : 轉換為浮點類型
toInt(input [, radix]) : 轉換為int類型