求问用JavaScript可以实现校验 a:b;c:d 这种字符串的正则表达式?

求问用JavaScript可以实现校验 key1:value1;key2:value2;key3:value3 这种字符串的正则表达式?

( “key1:value1;key2:value2;key3:value3” 这个是从input框中获取的字符串,key值只能是String类型,value可以是Number,String,Boolean类型,并且字数限制在128字以内。)

同时求问如何把这串字符串转化成对应的对象格式?

阅读 3.4k
2 个回答

题目没说明 key 和 value 具体的要求,假设 key 和 value 能通过正则表达式 β 表示,则需要的正则为:

/^(β:β;)*(β:β)?$/

例如匹配题目里的例子,β = [^:;]+, 需要的正则为 /^([^:;]+:[^:;]+;)*([^:;]+:[^:;]+)?$/

reg = /^([^:;]+:[^:;]+;)*([^:;]+:[^:;]+)?$/

reg.test("key1:value1") == true
reg.test("key1:;") == false
reg.test("key1:") == false
reg.test("key1") == false
reg.test("key1:value1;key2:value2") == true
reg.test("key1:value1;key2:value2;") == true
reg.test("key1:value1;key2:") == false
reg.test("key1:value1;key2") == false

你得描述清楚key和value的值有可能是哪几种,或者字符组成

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题