求问用JavaScript可以实现校验 key1:value1;key2:value2;key3:value3 这种字符串的正则表达式? ( “key1:value1;key2:value2;key3:value3” 这个是从input框中获取的字符串,key值只能是String类型,value可以是Number,String,Boolean类型,并且字数限制在128字以内。) 同时求问如何把这串字符串转化成对应的对象格式?
题目没说明 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 具体的要求,假设 key 和 value 能通过正则表达式 β 表示,则需要的正则为:
例如匹配题目里的例子,
β = [^:;]+
, 需要的正则为/^([^:;]+:[^:;]+;)*([^:;]+:[^:;]+)?$/
: