我有一個字符串,我只是想驗證以下字符串如何檢查輸入字符串必須遵循下面的後綴?
one=1&two=2
- 此字符串將被視爲有效
23=2&sa=32fd
- 此字符串也將被視爲有效
12one=&13&=3
- 此字符串會認爲無效
什麼是最好的方式來驗證字符串,如這些?
我有一個字符串,我只是想驗證以下字符串如何檢查輸入字符串必須遵循下面的後綴?
one=1&two=2
- 此字符串將被視爲有效
23=2&sa=32fd
- 此字符串也將被視爲有效
12one=&13&=3
- 此字符串會認爲無效
什麼是最好的方式來驗證字符串,如這些?
如果你堅持使用正則表達式,你可以這樣做:
^(?:\w*?=\w*?&?)+$
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解析庫。
下面將驗證完整的字符串,以及捕獲的個體相匹配
^([\w|\d]+\=[\w|\d]+\&?)+$
如果你只是想驗證字符串只有Olian04的回答工作
不是有效和無效的字符串顯示例子,你必須能夠解釋(通過模式)什麼是和不是有效的。目前,還不清楚你的邏輯是什麼。 –
JavaScript還是Java? – PeterMader
javascript和java是不同的語言,你使用哪一種? – JonK