ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/marvell/webui/wwwLegacy/js/base/validator.js b/marvell/webui/wwwLegacy/js/base/validator.js
new file mode 100644
index 0000000..aeb7e9b
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/base/validator.js
@@ -0,0 +1,253 @@
+function IsNumber(obj) {
+ if( typeof(obj) === 'string' )
+ {
+ var r = /^-?\d+$/;
+ return r.test(obj);
+ }
+ if(typeof(obj) === "number")
+ {
+ if(obj.toString().indexOf(".") != -1)
+ return false;
+ else
+ return true;
+ }
+ return false;
+}
+
+function textBoxMinLength(control,value) {
+ if(document.getElementById(control).value.length < value)
+ return false;
+ else
+ return true;
+}
+function IsChineseChar(value) {
+ if(/.*[\u0100-\uffff]+.*$/.test(value))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+function textBoxMaxLength(control,value) {
+ if(document.getElementById(control).value.length > value)
+ return false;
+ else
+ return true;
+}
+
+function textBoxLength(control,value) {
+ if(document.getElementById(control).value.length == value)
+ return true;
+ else
+ return false;
+}
+
+function IsEmail(emailAddr) {
+ var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
+ if (pattern.test(emailAddr)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+function IsPhoneNumber(phoneNumber) {
+ var pattern = /(^[0-9]{3,4}\-[0-9]{3,15}$)|(^\+?[0-9]{3,20}$)|(^\([0-9]{3,4}\)[0-9]{3,15}$)/;
+ if (pattern.test(phoneNumber)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+
+function isChineseChar(value) {
+ if(/.*[\u0100-\uffff]+.*$/.test(value))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+function deviceNameValidation(str) {
+ if (isChineseChar(str)) {
+ return false; }
+
+ if (str.toString().indexOf("#") != -1)
+ return false;
+ else if (str.toString().indexOf(":") != -1)
+ return false;
+ else if (str.toString().indexOf(" ") != -1)
+ return false;
+ else if (str.toString().indexOf("&") != -1)
+ return false;
+ else if (str.toString().indexOf(";") != -1)
+ return false;
+ else if (str.toString().indexOf("~") != -1)
+ return false;
+ else if (str.toString().indexOf("|") != -1)
+ return false;
+ else if (str.toString().indexOf("<") != -1)
+ return false;
+ else if (str.toString().indexOf(">") != -1)
+ return false;
+ else if (str.toString().indexOf("$") != -1)
+ return false;
+ else if (str.toString().indexOf("%") != -1)
+ return false;
+ else if (str.toString().indexOf("^") != -1)
+ return false;
+ else if (str.toString().indexOf("!") != -1)
+ return false;
+ else if (str.toString().indexOf("@") != -1)
+ return false;
+ else if (str.toString().indexOf(",") != -1)
+ return false;
+ else
+ return true;}
+
+function IsIPv6(ipv6Addr) {
+ return ipv6Addr.match(/:/g) != null
+ && ipv6Addr.match(/:/g).length <= 15
+ && /::/.test(str)
+ ? /^([\da-f]{1,4}(:|::)){1,6}[\da-f]{1,4}$/i.test(str)
+ : /^([\da-f]{1,4}:){15}[\da-f]{1,4}$/i.test(str);
+}
+
+function IsIPv4(ipv4Addr) {
+ var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
+ return null == ipv4Addr.match(exp) ? false: true;
+ return true;
+}
+
+function IsUrl(strUrl){
+ var regUrl = /(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?/gi;
+ if (regUrl.test(strUrl)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+function IsHexStr(str){
+ pattern = /^[0-9a-fA-F]+$/;
+ if (pattern.test(str)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+function IsASCIIStr(str){
+ pattern = /^[\x00-\x7F]+$/;
+ if (pattern.test(str)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+function IsEnglishLetter(str){
+ pattern = /[a-zA-Z]+/;
+ if (pattern.test(str)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+function IsMACAddr(mac) {
+var regex = /^([0-9a-f]{2}([:-]|$)){6}$|([0-9a-f]{4}([.]|$)){3}$/i;
+ if (!regex.test(mac))
+ return false;
+ else
+ return true;
+}
+
+//time format: hh:mm:ss
+function IsTime(time) {
+var regex = /^([0-1]?\d{1}|2[0-3]):[0-5]?\d{1}:([0-5]?\d{1})$/;
+ if (!regex.test(time))
+ return false;
+ else
+ return true;
+}
+
+//time format: hh:mm
+function IsTimeEx(time) {
+//var regex = /^(([0-1]\d)|(2[0-4])):[0-5]\d$/;
+var regex =/^([0-1]{1}\d|2[0-3]):([0-5]\d)$/;
+ if (!regex.test(time))
+ return false;
+ else
+ return true;
+}
+
+//date format: yyyy-mm-dd
+function IsData(date) {
+var regex = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/;
+ if (!regex.test(date))
+ return false;
+ else
+ return true;
+}
+
+//port format: xxxx:yyyy
+function IsPort(port){
+ var portArr = port.split(":");
+ for(var idx = 0; idx < 2; ++idx){
+ if("" == portArr[idx])
+ return false;
+
+ if(portArr[idx]>65535 || portArr[idx] < 0)
+ return false;
+ }
+ if(portArr[0] > portArr[1])
+ return false;
+
+ return true;
+}
+
+function IsRuleName(ruleName){
+ if("" == ruleName) return false;
+ if(!IsASCIIStr(ruleName)) return false;
+
+ return true;
+}
+
+function validate_pin(pin) {
+ var ret = true;
+
+ if(pin.length < 4 || pin.length > 8)
+ ret = false;
+
+ if(!IsNumber(pin))
+ ret = false;
+
+ return ret;
+}
+
+function validate_puk(puk) {
+ var ret = true;
+
+ if(puk.length < 4 || puk.length > 10)
+ ret = false;
+
+ if (/\W/.test(puk))
+ ret = false;
+
+ return ret;
+}
+