UNPKG

nos-node-sdk

Version:

NOS Node.js SDK实现了NOS对象操作接口,基于此SDK能方便快速地实现JavaScript应用程序来使用NOS的对象存储服务。

60 lines (49 loc) 1.47 kB
/** * Created by hzlichaolin on 2016/8/15. */ var validator = require('validator'); var bucketValidator = function (bucket) { if (bucket == null){ return false; } //长度必须在3到63字符之间 if(bucket.length<3 || bucket.length>63){ return false; } //必须以字母或者数字开头和结尾 if(!isBucketAlphanumeric(bucket[0]) || !isBucketAlphanumeric(bucket[bucket.length-1])){ return false; } //必须是小写字母,数字,点号(.),横岗(-)组成 for (var i=1;i<bucket.length;i++){ if (!(isBucketAlphanumeric(bucket[i]) || bucket[i] == '-')){ return false; } //不能包含连续的非字母数字 if (!isBucketAlphanumeric(bucket[i-1]) && !isBucketAlphanumeric(bucket[i])){ return false; } } //不允许使用ipv4地址格式的桶 if (isIPAdressModule(bucket)){ return false; } return true; }; var isBucketAlphanumeric = function (char) { return validator.isAlphanumeric(char) && validator.isLowercase(char); }; var isIPAdressModule = function (bucket) { var arr = bucket.split('.'); if (arr.length != 4){ return false; } for (var i=0;i<4;i++){ if (!validator.isInt(arr[i])){ return false; } } return true; }; module.exports = bucketValidator;