其他函式

  • 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 ""