validator
validator是個(gè)好用的字符串校驗(yàn)工具艺晴,比如是否是數(shù)組,是否是郵箱掸屡,是否是bool值封寞,很簡(jiǎn)單就可以搞定。
具體直接參考上面鏈接就可以了仅财。很簡(jiǎn)單的狈究。
var validator = require('validator');
function fetchData(userEmailStr, userAgeStr, isManStr) {
if (!validator.isEmail(userEmailStr)) {
return 'userEmail is error';
}
if (!validator.isNumeric(userAgeStr)) {
return 'userAgeStr is error';
}
if (!validator.isBoolean(isManStr)) {
return 'isManStr is error';
}
// do something
return 'allFormatPassed';
}
var res = fetchData('username@qq.com', '18', 'true');
console.log(res);// allFormatPassed
joi
joi是對(duì)象綱要描述語(yǔ)言以及JavaScript對(duì)象校驗(yàn)工具
還可以自定義約束條件
const Joi = require('joi');
const schema = Joi.object().keys({
userEmailStr:Joi.string().email(),
userAgeStr:Joi.number(),
isManStr:Joi.bool()
});
function fetchData(obj) {
// 這里定義變量時(shí)使用了對(duì)象的解構(gòu) 變量名不能亂寫(xiě)
var {error,value} = Joi.validate(obj, schema);
if (error) {
return error.message;
}
// do something
return value;
}
var obj = { userEmailStr: '@qq.com', userAgeStr: 18, isManStr:'true' };
console.log(fetchData(obj));//child "userEmailStr" fails because ["userEmailStr" must be a valid email]