如何检查输入字符串必须遵循以下顺序?

时间:2017-06-16 15:37:53

标签: javascript java regex string validation

我有一个String,我只想验证以下字符串

one=1&two=2 - 此字符串将被视为有效

23=2&sa=32fd - 此字符串也将被视为有效

12one=&13&=3 - 此字符串将被视为无效

验证这些字符串的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

如果你坚持使用正则表达式,你可以使用它:

^(?:\w*?=\w*?&?)+$

Live Demo



const regex = /^(?:\w*?=\w*?&?)+$/gm;
const str = `
one=1&two=2
23=2&sa=32fd
12one=&13&=3`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }

    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}




但是,我建议您查看一些Query string解析库。

答案 1 :(得分:0)

以下内容将验证完整字符串以及捕获单个匹配项

^([\w|\d]+\=[\w|\d]+\&?)+$

如果你只是想验证字符串,那么Olian04的答案就可以了