diff options
author | Marius David Wieschollek <passwords.public@mdns.eu> | 2021-01-16 02:09:03 +0300 |
---|---|---|
committer | Marius David Wieschollek <passwords.public@mdns.eu> | 2021-01-16 02:09:03 +0300 |
commit | 42ef5bcea29875c9d6c8aaf1566b7fb8c74514cb (patch) | |
tree | cb185552d03a60dccf49e0decf7709798672603e /src/js | |
parent | f8aeb670fe718b5d7e1437693a70b6fb5eda8f37 (diff) |
Improve user field detection
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/Services/FormService.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/js/Services/FormService.js b/src/js/Services/FormService.js index 0e173a9..5f1f557 100644 --- a/src/js/Services/FormService.js +++ b/src/js/Services/FormService.js @@ -117,15 +117,21 @@ export default class FormService { * @return {Boolean} */ isUserNameField(field) { + if(['checkbox', 'submit'].indexOf(field.type) !== -1) return false; if(field.type === 'email') return true; - let search = ['user', 'login', 'email'], + let includes = ['user', 'login', 'email'], + excludes = ['fake', 'hidden'], pl = field.placeholder.toLowerCase(), name = field.name.toLowerCase(), id = field.id.toLowerCase(); - for(let i = 0; i < search.length; i++) { - if(name.indexOf(search[i]) !== -1 || id.indexOf(search[i]) !== -1 || pl.indexOf(search[i]) !== -1) return true; + for(let exclude of excludes) { + if(name.indexOf(exclude) !== -1 || id.indexOf(exclude) !== -1 || pl.indexOf(exclude) !== -1) return false; + } + + for(let include of includes) { + if(name.indexOf(include) !== -1 || id.indexOf(include) !== -1 || pl.indexOf(include) !== -1) return true; } return false; |