Как написать регулярное выражение, которое заменит пароль в строке URL? - PullRequest
0 голосов
/ 21 марта 2019

Я знаю, что неправильно передавать пароль пользователя в URL, и мы собираемся найти лучшее решение, но сейчас мне нужно сделать это следующим образом.

Как я могу заменитьпароль с регулярным выражением в URL-адресе?

Пароль может быть в любом месте URL-адреса после вопросительного знака.

Регулярному выражению потребуется обрабатывать такие случаи, как:

API? clientcode = abc & password = 123 & name = 123

API? пароль = 123 & name = 123

API? name = 123 & пароль = 123

Вот что я пробовал, но это не такt охватывает все случаи:

&?password=(.*)&?

'mystring'.replace(/password=(.*?)&/g, 'password=PLACEHOLDER');

Я пробовал это здесь: https://www.regextester.com/index.php?fam=108498

1 Ответ

2 голосов
/ 21 марта 2019

Вы можете использовать это регулярное выражение,

\b([?&]?password=)[^&< ]*

И заменить на,

$1PLACEHOLDER

Демонстрационная версия

JS код демо,

var arr = ['<html><a>password=abc<a></html>','API?clientcode=abc&password=123&name=123','API?password=123&name=123','API?name=123&password=123','password=JCuLnyAVeAJIjxLIPoyO3WNYyHtBgySrHsQg2MimIgxHDfbg3APuiSJHtPVY4lN&name=123'];

for(s of arr) {
  console.log(s + " --> " + s.replace(/\b([?&]?password=)[^&< ]*/g, '$1PLACEHOLDER'));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...