设为首页 收藏本站
查看: 1665|回复: 0

[经验分享] javascript与php批量验证类

[复制链接]

尚未签到

发表于 2018-12-12 08:06:11 | 显示全部楼层 |阅读模式
一、javascript:


  • 代码:
    /**
    * 批量验证类
    * @author [lee]
    * 1、验证是否为空
    * 2、验证数据类型
    * 3、验证长度是否达标
    * 4、验证是否符合正则匹配
    */
    function validation(main){
    this.data = ''
    this.msg = new Array()
    this.init = function(){
    for(var i in main){
    this.data = i;
    bool = main['empty'];
    type = main['type'];
    len_arr = main['length'];
    preg = main['preg'];
    this.isEmpty(bool).dataType(type).dataLength(len_arr).pregMach(preg)
    }
    }
    this.isInt = function(val){
    if((typeof(val)=='number')||(val instanceof Number)){
    if(/^\d*$/.test(val)){
    return true
    }else{
    return false
    }
    }else{
    return false
    }
    }
    this.isFloat = function(val){
    if((typeof(val)=='number')||(val instanceof Number)){
    if(/^\d*\.\d*$/.test(val)){
    return true
    }else{
    return false
    }
    }else{
    return false
    }
    }
    this.isString = function(val){
    if((typeof(val)=='string')||(val instanceof String)){
    return true
    }else{
    return false
    }
    }
    this.isBoolean = function(val){
    if((typeof(val)=='boolean')||(val instanceof Boolean)){
    return true
    }else{
    return false
    }
    }
    this.isArray = function(val){
    if(val instanceof Array){
    return true
    }else{
    return false
    }
    }
    this.isObject = function(val){
    if(val instanceof Object && typeof val.length == 'undefined'){
    return true
    }else{
    return false
    }
    }
    this.isEmpty = function (bool){
    var data = this.data;
    if(bool){
    if(data.length == 0){
    var msg = "'"+data+"'不能为空";
    this.msg.push(msg)
    }
    }
    return this
    }
    this.dataType = function (type){
    var data = this.data
    if(type=='bool'){
    if(!this.isBoolean(data)){
    var msg = "'"+data+"'不能为非布尔值";
    this.msg.push(msg)
    }
    }else if(type=='string'){
    if(!this.isString(data)){
    var msg = "'"+data+"'不能为非字符串值";
    this.msg.push(msg)
    }
    }else if(type=='int'){
    if(!this.isInt(data)){
    var msg = "'"+data+"'不能为非整型值";
    this.msg.push(msg)
    }
    }else if(type=='float'){
    if(!this.isFloat(data)){
    var msg = "'"+data+"'不能为非浮点型值";
    this.msg.push(msg)
    }
    }else if(type=='array'){
    if(!this.isArray(data)){
    var msg = "'"+data+"'不能为非数组值";
    this.msg.push(msg)
    }
    }else if(type=='object'){
    if(!this.isObject(data)){
    var msg = "'"+data+"'不能为非对象值";
    this.msg.push(msg)
    }
    }
    return this
    }
    this.dataLength = function (len_arr){
    var data = this.data
    if(len_arr){
    var min = Math.abs(len_arr[0]);
    var max = Math.abs(len_arr[1]);
    var isint = this.isInt(data)
    var isfloat = this.isFloat(data)
    var isstring = this.isString(data)
    var isbool = this.isBoolean(data)
    var isarray = this.isArray(data)
    var isobject = this.isObject(data)
    var len = 0
    if(isint){
    len = data.toString().length
    }else if(isfloat){
    var len0 = data.toString().split('.')
    len = len0[1].length
    }else if(isstring){
    len = data.length
    }else if(isarray){
    len = data.length
    }else if(isobject){
    for(var i in data){
    len++
    }
    }
    if(!(len >= min && len

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650309-1-1.html 上篇帖子: php实用小代码 下篇帖子: 《一》php多进程编程:第一次fork
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表