javascript设计模式——策略模式

策略模式:将定义的一组算法封装起来,使其互相之间可以替换。封装的算法具有一定独立性,不会随客户端变化而变化。

使用策略模式实现表单验证

    // 使用策略模式实现表单验证
    var InputStrategy = function () {
      var strategy = {
        notNull: function (value) {
          return /\s+/.test(value) ? '请输入内容': ''
        },
        number: function( value) {
          return /^[0-9]*$/.test(value) ? '': '请输入数字'
        },
        phone: function (value) {
          return /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$/.test(value) ? '' : '请输入正确电话号码'
        }
      }
      return {
        check: function(type, value) {
          return strategy[type]? strategy[type](value): '没有该类型的检查方法'
        },
        addStrategy: function(type, fn) {
          strategy[type] = fn
        }
      }
    }

你可能感兴趣的:(javascript设计模式——策略模式)