最终并未完全按照以下想法实现.
- 是否有 ? 号. 如果有
if_question_mark = true
, 如果没有if_question_mark = false
- 是否有 & 号. 如果有
ampersand = 1
, 如果有两个ampersand = 2
, 如果没有ampersand = 0
- 将 ? 与 & 号之间取对象.
if_question_mark = false
则结束运行, 返回空.if_question_mark = true
且ampersand = 0
则取 ? 与结尾处的字符串, 命名为vartext[0]
待处理.if_question_mark = true
且ampersand = 1
则取 ? 与 & 之间的字符串, 命名为vartext[0]
, 取 & 与结尾处的字符串, 命名为vartext[1]
待处理.- 以此类推, 获得一个名为 vartext 的数组待处理.
- 将 vartext 数组进行处理并返回一个对象, 为 JSON 数据.
- 定义一个变量
var validnum = 0
- 判断 vartext 中是否有 = 号. 如果有, 取等号前的字符为
"key"
, 取等号后的字符为"val"
, 并且validnum++
. 如果没有, 则跳过运行. - 如果最后
var validnum != 0
取得一个 JSON 对象为var parameter = {"key": "val","key": "val"}
- 获取参数例子
- 例子:
https://blog.clian.net/log/110?about=JavaScript&author=iugo
parameter.about = "JavaScript"; parameter.author = "iugo"