|
发表于 2018-11-4 19:33:32
|
显示全部楼层
四川省凉山彝族自治州
类_JSON
JSON.置属性(),是[ ]类型的时候置不上
加个判断好了
.版本 2
.子程序 置属性, , 公开
.参数 名字, 文本型, , 支持a.b.c[0]
.参数 值, 文本型
.参数 为对象, 逻辑型, 可空, 属性解析为json对象,数组
.局部变量 a, 文本型
.如果真 (取文本左边 (名字, 1) ≠ “[”)
a = “.”
.如果真结束
.如果真 (为对象)
值 = 选择 (值 = “”, “{}”, 值)
对象.方法 (“Eval”, dataName + a + 名字 + “= eval(” + 值 + “)”)
返回 ()
.如果真结束
对象.方法 (“Eval”, dataName + a + 名字 + “='” + 值 + “'”)
时间_取***判断()日期判断只在0-32之间,会漏判
.版本 2
.子程序 时间_取闰年判断, 逻辑型, 公开, 闰年返回真平年返回假
.参数 年份, 整数型
.局部变量 数值, 整数型
数值 = 到整数 (年份)
.判断开始 (数值 % 4 = 0 且 数值 % 100 ≠ 0)
返回 (真)
.判断 (数值 % 400 = 0)
返回 (真)
.默认
返回 (假)
.判断结束
.子程序 时间_取***判断, 逻辑型, 公开, 判断***号是否正确,检测1900年到2030年中15位或18位***,正确返回真,错误返回假。
.参数 ***号, 文本型
.局部变量 长度, 整数型
.局部变量 局_年
.局部变量 局_月
.局部变量 局_日
.局部变量 局_乘数, 整数型, , "0"
.局部变量 局_计次
.局部变量 和, 整数型
长度 = 取文本长度 (***号)
.如果真 (长度 = 15 或 长度 = 18)
.如果真 (长度 = 15)
.如果真 (到数值 (取文本中间 (***号, 9, 2)) ≥ 13 或 到数值 (取文本中间 (***号, 9, 2)) = 0)
' 输出调试文本 (取文本中间 (***号, 9, 2))
返回 (假) ' 月份大于12个月3201057302
.如果真结束
.如果真 (到数值 (取文本中间 (***号, 11, 2)) ≥ 32 或 到数值 (取文本中间 (***号, 11, 2)) = 0)
' 输出调试文本 (取文本中间 (***号, 11, 2))
返回 (假) ' 日子大于32天
.如果真结束
返回 (真)
.如果真结束
.如果真 (长度 = 18)
局_年 = 到数值 (取文本中间 (***号, 7, 4))
.如果真 (局_年 ≤ 1900 或 局_年 ≥ 2030)
' 输出调试文本 (取文本中间 (***号, 9, 2))
返回 (假) ' 年份小于1900年,大于2030年
.如果真结束
局_月 = 到数值 (取文本中间 (***号, 11, 2))
.如果真 (局_月 ≥ 13 或 局_月 = 0)
' 输出调试文本 (取文本中间 (***号, 11, 2))
返回 (假) ' 月份大于12个月
.如果真结束
局_日 = 到数值 (取文本中间 (***号, 13, 2))
' 输出调试文本 (取文本中间 (***号, 13, 2))
.如果 (时间_取闰年判断 (局_年) = 真)
.如果真 (局_日 > 多项选择 (局_月, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) 或 局_日 = 0)
返回 (假)
.如果真结束
.否则
.如果真 (局_日 > 多项选择 (局_月, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) 或 局_日 = 0)
返回 (假)
.如果真结束
.如果结束
' 校验码计算公式 由易友【小爬虫】提供。
局_乘数 = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }
.计次循环首 (17, 局_计次)
和 = 和 + 到整数 (取文本中间 (***号, 局_计次, 1)) × 局_乘数 [局_计次]
.计次循环尾 ()
和 = 和 % 11
返回 (多项选择 (和 + 1, “1”, “0”, “x”, “9”, “8”, “7”, “6”, “5”, “4”, “3”, “2”) = 到小写 (取文本右边 (***号, 1)))
.如果真结束
.如果真结束
返回 (假)
|
|