一个好用的字符串校验工具

validator

validator是个好用的字符串校验工具,比如是否是数组,是否是邮箱,是否是bool值,很简单就可以搞定。
具体直接参考上面链接就可以了。很简单的。

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是对象纲要描述语言以及JavaScript对象校验工具

还可以自定义约束条件

const Joi = require('joi');

const schema = Joi.object().keys({
    userEmailStr:Joi.string().email(),
    userAgeStr:Joi.number(),
    isManStr:Joi.bool()
});

function fetchData(obj) {
    // 这里定义变量时使用了对象的解构 变量名不能乱写
    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]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,378评论 2 17
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,850评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,899评论 18 399
  • 我以无比饱满的热情练了一星期三体式,这些天里,我随时摆出三体式的桩架,想着绝世高手的风范,期待着周围人群中某种敬仰...
    象形取意阅读 4,716评论 0 0
  • 有学妹要我的女神修炼记录,最近很忙,就不发文件给你。 姐妹们有问我则么保养变美的,现在才分享是不是太晚?No~变美...
    微安_阅读 3,342评论 2 8