其他函式

  • validateURL(url);
  • validateURI(uri);
  • validateMbox(mbox);
  • validateTimeStamp(timestamp);
  • isStringArray(object);
  • isObjectArray(object);
  • isISOString(string);
  • isDuration(duration);
  • isDatetime(datetime);
  • isJSONObject(object);
  • isBloomsLevel(level);
  • isDecimalNumber(num);
  • getBrowserInfo();
  • isEmptyObject(object);
  • isBlank(str);
  • isset(object);
  • getNumericalDuration(duration);
  • getNumericalDatetime(datetime);
  • calculateDuration(start,end);
  • calculateTimeDifference(start,end);

函式說明

validateURL()

  • 作用:驗證字串是否為 URL
  • 回傳值:
型態 說明
true Boolean 字串為 URL
false Boolean otherwise
Example
validateURL("http://example.com"); // true
validateURL("https://www.youtube.com/watch?v=sQcwRGTW5mw"); // true
validateURL("https://w3id.org/xapi/acrossx/profile/video"); //true
validateURL("http://."); // false
validateURL("http://-a.b.co"); // false

validateURI()

  • 作用:驗證字串是否為 URI
  • 回傳值:
型態 說明
true Boolean 字串為 URI
false Boolean otherwise
Example
validateURI("foo://example.com:8042/over/there?name=ferret#nose"); // true
validateURI("http://www.ietf.org/rfc/rfc2396.txt"); // true

validateMbox()

  • 作用:驗證字串是否為 'mailto:電子郵件地址'
  • 回傳值:
型態 說明
0 Integer mbox 為 mailto:電子郵件地址
1 Integer mbox 為 電子郵件地址
2 Integer otherwise
Example
validateMbox("mailto:crystal@visca.com"); // 回傳值為 0
validateMbox("roger@mail.example.com"); // 回傳值為 1
validateMbox("@example.com"); // 回傳值為 2

validateTimeStamp()

  • 作用:驗證字串是否為正確的時間戳記
  • 回傳值:
型態 說明
true Boolean 字串為 [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss.sss]Z 格式的 ISO String
false Boolean otherwise
Example
validateTimeStamp("2016-06-20T07:18:11.487Z"); // true
validateTimeStamp("2016-6-20T7:18:11.487Z"); // false
validateTimeStamp("2016-06-20T07:18:11.487"); // false

isStringArray()

  • 作用:判斷傳入的參數值是否為字串陣列
  • 回傳值:
型態 說明
true Boolean 為一個字串陣列且大小不為 0
false Boolean otherwise
Example
isStringArray([1,2,3,4]); // false
isStringArray(["a","b","c"]); // true
isStringArray(["hello","visca",{}]); // false

isObjectArray()

  • 作用:判斷傳入的參數值是否為 JSON 物件陣列
  • 回傳值:
型態 說明
true Boolean 為一個 JSON 的陣列且大小不為 0
false Boolean otherwise
Example
isObjectArray([{},{}]); // true
isObjectArray([{},{"objectType":"Agent","name":"Crystal","mbox":"crystal@visca.com"}]); // true
isObjectArray([{"msg":"hello"},{"id":"www.example.com/video/id=123abc","description":{"zh-TW":"影片1","en-US":"video1"}}]); // true
isObjectArray([1,2,{},4]); // false

isISOString()

  • 作用:判斷傳入的參數值是否為 ISO String 8601
  • 回傳值:
型態 說明
true Boolean 為一個 Duration/Datetime 的 ISO String 8601 字串
false Boolean otherwise
Example
isISOString("PT14M5S"); // true
isISOString("2016-06-20T07:18:11.487Z"); // true
isISOString("PT1M23"); // false
isISOString("2016/06/20T07:18:11.487Z"); // false

isDuration()

  • 作用:判斷傳入的參數值是否為 Duration
  • 回傳值:
型態 說明
true Boolean 傳入參數值為 ISO 8601 String 且格式為 PnYnMnDTnHnMnS
false Boolean otherwise
Example
isDuration("PT5M14S"); // true
isDuration("5M14S"); // false

isDatetime()

  • 作用:判斷傳入的參數值是否為Datetime
  • 回傳值:
型態 說明
true Boolean 傳入參數值為 ISO 8601 String 且格式為 YYYY-MM-DDThh:mm:ss.sssZ
false Boolean otherwise
Example
isDatetime("2016-06-20T07:18:11.487Z"); // true
isDatetime("2016-06-20 07:18:11.487"); // false

isJSONObject()

  • 作用:判斷傳入的參數值是否為一個 JSON 物件
  • 回傳值:
型態 說明
true Boolean 是 JSON 物件
false Boolean otherwise
Example
isJSONObject({}); // true
isJSONObject({"msg":"hello"}); // true
isJSONObject([{}]); // false

isBloomsLevel()

  • 作用:判斷傳入的參數值是否為Blooms Level
  • 回傳值:
型態 說明
true Boolean 字串為 "remembering", "understanding", "applying", "analyzing", "evaluating", "creating" 其中之一
false Boolean otherwise
Example
isBloomsLevel("Applying"); // true
isBloomsLevel("APPLYING"); // true
isBloomsLevel("apply"); // false

toDecimalNumber()

  • 作用:將傳入的參數值轉成十進位數
  • 參數:
名稱 型態 說明
num Integer/Float/String 欲轉換的數字或字串
  • 回傳值:
Example
toDecimalNumber("90.2575"); // 回傳值為 90.2575
toDecimalNumber("100.00"); // 回傳值為 100.00
toDecimalNumber(90.1234); // 回傳值為 90.1234

getBrowserInfo()

  • 作用:取得瀏覽器資訊
  • 回傳值:
名稱 型態 說明
code_name String 瀏覽器的別名
name String 瀏覽器的官方名稱
version String 瀏覽器的版本資訊
platform String 平台類型
user-agent-header String User-Agent Header
cookies-enabled Boolean Cookie開啟/關閉
Example
{
    "code_name": "Mozilla",
    "name": "Netscape",
    "version": "5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36",
    "platform": "MacIntel",
    "user-agent-header": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36",
    "cookies-enabled": true
}

isEmptyObject()

  • 作用:判斷 JSON 是否為空
  • 回傳值:
型態 說明
true Boolean JSON 為空
false Boolean otherwise
Example
isEmptyObject({}); // true
isEmptyObject([]); // false
isEmptyObject({"msg":"hello"}); // false

isBlank()

  • 作用:判斷字串是否為空白
  • 回傳值:
型態 說明
true Boolean 字串為空白
false Boolean otherwise
Example
isBlank(""); // true
isBlank("  "); // true
isBlank("123"); // false

isset()

  • 作用:判斷是否有值,也就是不為 undefined 或 null
  • 回傳值:
型態 說明
true Boolean 不為 undefined 或 null
false Boolean otherwise
Example
isset(123); // true
isset(); // false
isset(null); // false
isset("abc"); // true

getNumericalDuration()

  • 作用:取得 JSON 形式的 Duration
  • 參數:
名稱 型態 說明
duration ISO 8601 String 格式為 PnYnMnDTnHnMnS
  • 回傳值:
Example
var duration = getNumericalDuration("PT1H2M3S");

回傳給 duration 的結果:

{
    "year": 0,
    "month": 0,
    "day": 0,
    "hour": 1,
    "minute": 2,
    "second": 3
}

getNumericalDatetime()

  • 作用:取得 JSON 形式的 Datetime
  • 參數:
名稱 型態 說明
datetime ISO 8601 String 格式為 YYYY-MM-DDThh:mm:ss.sssZ
  • 回傳值:
Example
var datetime = getNumericalDatetime("2016-06-15T14:25:03Z");

回傳給 datetime 的結果:

{
    "year": 2016,
    "month": 6,
    "day": 15,
    "hour": 14,
    "minute": 25,
    "second": 3
}

calculateDuration()

  • 作用:計算兩個 Duration 之間的持續時間
  • 參數:
名稱 型態 說明
start ISO 8601 String 開始時間,格式為 PnYnMnDTnHnMnS
end ISO 8601 String 結束時間,格式為 PnYnMnDTnHnMnS
Example
var duration = calculateDuration("PT2M10S","PT1H30M10S");

回傳給 duration 的結果:

{
    "year": 0,
    "month": 0,
    "day": 0,
    "hour": 1,
    "minute": 28,
    "second": 0,
    "text": "PT1H28M"
}

calculateTimeDifference()

  • 作用:計算兩個 Datetime 之間的持續時間
  • 參數:
名稱 型態 說明
start ISO 8601 String 開始時間,格式為 YYYY-MM-DDThh:mm:ss.sssZ
end ISO 8601 String 結束時間,格式為 YYYY-MM-DDThh:mm:ss.sssZ
Example
var duration = calculateTimeDifference("2016-06-13T14:30:25.306Z","2016-06-15T15:40:30.444Z");

回傳給 duration 的結果:

{
    "year": 0,
    "month": 0,
    "day": 2,
    "hour": 1,
    "minute": 10,
    "second": 5.138,
    "text": "P2DT1H10M5.138S"
}

results matching ""

    No results matching ""