Name

global.SerialNumber

Description

Supporting code for device serial numbers. // // gs.include( SerialNumber ); // var s = new SerialNumber( 012345679 ); // if (s.isValid()) { } // or // s.set(gr); //

Script

gs.include("PrototypeServer");

var SerialNumber = Class.create();

SerialNumber.prototype = {
NUMBERS: [ "notfound", "0123456789", "tobefilled", "notspecified", "empty" ],

initialize: function(number) {
    this.number = this._normalize(number);
},

isValid: function() {
    if(gs.nil(this.number))
        return false;

    for(var i = 0; i < this.NUMBERS.length; i++) {
        var n = this.NUMBERS[i].toLowerCase();
        if (this.number.indexOf(n) > -1)
            return false;
    }

    if (this._isRepetitive())
        return false

    return true;
},

get: function() {
    return this.number;
},

set: function(gr) {
    if (!this.isValid())
        return;

    gr.setValue("serial_number", this.get());
},

_isRepetitive: function() {
    for(var i = 0; i < this.number.length; i++) {
        if (i && this.number.charAt(i) != this.number.charAt(i-1))
            return false;
    }

    return true;
},

_normalize: function(number) {
    number = number.toLowerCase();
    number = number.replace(/ /g, "");
    return number;
},

type: "SerialNumber"
}


Sys ID

eb4c54ec0a0a0b6b008e9facf977e680

Offical Documentation

Official Docs: