feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(isStrongPassword): add @ as valid symbol - #1566

Merged
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master
Feb 15, 2021
Merged

feat(isStrongPassword): add @ as valid symbol#1566
profnandaa merged 1 commit into
validatorjs:masterfrom
stingalleman:master

Conversation

@stingalleman

Copy link
Copy Markdown
Contributor

adds @ as a valid symbol, also fixes#1563

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@codecov

codecovBot commented Jan 1, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1566 (adab6e4) into master (8831db3) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@ Coverage Diff @@## master #1566 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 100 100 Lines 1796 1796 =========================================
Hits 1796 1796 
Impacted FilesCoverage Δ
src/lib/isStrongPassword.js100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8831db3...adab6e4. Read the comment docs.

@stingallemanstingalleman changed the title feat(isGoodPassword): add @ as valid symbolfeat(isStrongPassword): add @ as valid symbolJan 1, 2021
@thedevelinmycode

Copy link
Copy Markdown

Looking forward to seeing this merged in. Spent an hour debugging my password validation to realize the @ symbol wasn't part of the regex lmao

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

@thedevelinmycode

Copy link
Copy Markdown

Same, is there any update on this? It's a dead-simple PR, ready to be merged.

Probably gonna have to ping an owner or something.

const lowerCaseRegex = /^[a-z]$/;
const numberRegex = /^[0-9]$/;
const symbolRegex = /^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;
const symbolRegex = /^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we do /^[\W_ ]$/ instead?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to hardcode specific characters.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case then we should include in the documentation that this function is restricted to ASCII characters only and symbols such as º or § will not work, which will be quite a surprise for some locales that have these symbols in their keyboards.

It would work with /^[\W_ ]$/ though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that's true. I don't know if people use these "weird" characters in their password? Personally I've never seen someone do that but I dunno. Maybe it is better to do that other regex

@stingalleman

Copy link
Copy Markdown
ContributorAuthor

@profnandaa@ezkemboi@tux-tn any update?

@tux-tntux-tn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉
Thank you for your contribution @stingalleman

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ is not considered as A Special Character in "isStrongPassword" function

6 participants

@stingalleman@thedevelinmycode@tux-tn@renanmontebelo@keesvv@profnandaa