Я пытаюсь просеять имя пользователя и текстовые поля загрузки формы HTML в веб-представлении.Ранее я пробовал этот метод, чтобы сузить соответствующие текстовые поля, которые мне нужны, но это было утомительно и нет конца вычислению переменных.хотя я и думал, что перечислил много переменных, это все еще было решением проблемы, но не все веб-сайты работают.
var inputFields = document.querySelectorAll("input[type='text']");
for (var i = inputFields.length >>> 0; i--;) {
if ( (inputFields[i].getAttribute('name') == 'email')
|| (inputFields[i].getAttribute('name') == 'Email')
|| (inputFields[i].getAttribute('name') == 'e-mail')
|| (inputFields[i].getAttribute('name') == 'E-mail')
|| (inputFields[i].getAttribute('name') == 'emailerr')
|| (inputFields[i].getAttribute('name') == 'UID')
|| (inputFields[i].getAttribute('name') == 'uid')
|| (inputFields[i].getAttribute('name') == 'username')
|| (inputFields[i].getAttribute('name') == 'Username')
|| (inputFields[i].getAttribute('name') == 'userName')
|| (inputFields[i].getAttribute('name') == 'user_name')
|| (inputFields[i].getAttribute('name') == 'User_Name')
|| (inputFields[i].getAttribute('name') == 'User_name')
|| (inputFields[i].getAttribute('name') == 'userid')
|| (inputFields[i].getAttribute('name') == 'userID')
|| (inputFields[i].getAttribute('name') == 'UserID')
|| (inputFields[i].getAttribute('name') == 'Userid')
|| (inputFields[i].getAttribute('name') == 'ID')
|| (inputFields[i].getAttribute('name') == 'id')
|| (inputFields[i].getAttribute('name') == 'j_username')
|| (inputFields[i].getAttribute('name') == 'session_key')
|| (inputFields[i].getAttribute('name') == 'login_password')) {
inputFields[i].value = '%@';}}
Затем мне рассказали о RegularExpression, но я с ним не очень хорошо разбиралсяи я прочитал некоторые учебники об этом, но не специально для моего проекта, чтобы попытаться понять, что это значит, и я разобрал этот код, который также является хитом.Я даже не уверен, правильно ли я это делаю, но на этот раз код определенно короткий.
var inputFields = document.querySelectorAll("input[type='text']");
for (var i = inputFields.length >>> 0; i--;) {
regStr = /(mail|user|iden|name|id|key|login|username|email)/i;
searchName = inputFields[i].getAttribute('name').search(regStr);
searchId = inputFields[i].getAttribute('id').search(regStr);
if (!(searchName == -1) || !(searchId == -1)){
inputFields[i].value = '%@';}}
Может кто-нибудь сказать мне, правильно ли я сделал это регулярное выражение?Я действительно понятия не имею.Некоторые сайты работают, некоторые нет.Я понимаю, что то, что я ищу, настраивается разработчиками, и у меня не будет 100% -го попадания на весь сайт, но меня озадачивает то, что иногда, даже если термин совпадает точно с одной из моих переменных поиска, он не работает.