feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@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: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM) - #1772

Merged
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1
Oct 31, 2021
Merged

feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)#1772
profnandaa merged 11 commits into
validatorjs:masterfrom
tarob0ba:patch-1

Conversation

@tarob0ba

@tarob0batarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
Contributor

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know and I will (hopefully) be able to fix it.

Checklist

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

I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
@tarob0ba

tarob0ba commented Oct 10, 2021

Copy link
Copy Markdown
ContributorAuthor

Fixing the commas now. My bad!

Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
@codecov

codecovBot commented Oct 10, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1772 (374724a) into master (5773869) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@ Coverage Diff @@## master #1772 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2052 2052 Branches 463 463 =========================================
Hits 2052 2052 
Impacted FilesCoverage Δ
src/lib/isMobilePhone.js100.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 5773869...374724a. Read the comment docs.

@tarob0ba

Copy link
Copy Markdown
ContributorAuthor

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

@tarob0batarob0ba changed the title feat(isMobilePhone): Add mobile phone validation for Cameroon (fr-CM)feat: (isMobilePhone) Add mobile phone validation for Cameroon (fr-CM)Oct 11, 2021
@tux-tn

tux-tn commented Oct 18, 2021

Copy link
Copy Markdown
Member

I apologize for the mistakes that I've made while doing this; I'm really anxious that I've messed something critical up.

No worries, tests and linter are here to fix those mistakes. I suggest next time you run them locally to detect that kind of problems, you just need to run npm test before committing and pushing your code

@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.

Thank you for your PR @beckettnormington !

I Added a comment concerning your regex, can you address it?

Comment threadsrc/lib/isMobilePhone.js Outdated
'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,
'fj-FJ': /^(\+?679)?\s?\d{3}\s?\d{4}$/,
'fo-FO': /^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,
'fr-CM': /^((237) ?|(\+237) ?)([0-9] ?){9}$/,

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.

Looks like you want to validate country prefix with and without the + sign. An easier way to do this would be:

  • /^(\+?237)? ([0-9] ?){9}$/

I have two questions tho:

  • Are spaces valid in Cameroon mobile phones (Most of the mobile phone validators we have don't allow spaces)
  • There is some carrier prefixes for mobile phone numbers as shown here. Can you please update your regex to take into consideration that mobile prefix?

@tarob0batarob0baOct 18, 2021

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.

Thanks for the feedback! I'm currently writing a regex that takes your comments into account.

1.) Spaces don't seem to be valid, my bad.
2.) I'm taking the latest updated mobile prefix (6) from November 21, 2014. If that needs to be updated, let me know as I wasn't completely sure.

I'll update the tests to invalidate landline numbers.

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.

Alright, done. 😄

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.

Thank you @beckettnormington, looks like you still have a space between the country prefix and the local part of the phone number. Can you correct that and we should be good to go

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.

Whoops, completely forgot about that! I’ll fix that now. My bad!

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.

Fixed.

@tux-tntux-tn added 🎉 first-pr 🧹 needs-update For PRs that need to be updated before landing labels Oct 18, 2021
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
@tarob0ba
tarob0ba requested a review from tux-tnOctober 18, 2021 20:30
tux-tn
tux-tn previously approved these changes Oct 20, 2021

@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 🎉

@tux-tntux-tn added hacktoberfest-accepted ready-to-land For PRs that are reviewed and ready to be landed and removed 🧹 needs-update For PRs that need to be updated before landing labels Oct 20, 2021
@profnandaa

Copy link
Copy Markdown
Member

@beckettnormington -- pls fix the merge conflict on README and we should be good to go.

@profnandaaprofnandaa added the mc-to-land Just merge-conflict standing between the PR and landing. label Oct 30, 2021
@tarob0ba

tarob0ba commented Oct 30, 2021

Copy link
Copy Markdown
ContributorAuthor

Resolved merge conflict, @profnandaa.

@tarob0ba
tarob0ba requested a review from tux-tnOctober 30, 2021 21:29

@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 fixing merge conflicts

@profnandaa
profnandaa merged commit f2381e0 into validatorjs:masterOct 31, 2021
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
profnandaa pushed a commit that referenced this pull request Oct 31, 2021
* Add Cameroon validation regex
I have added a regex for validating Cameroonian mobile numbers which should work. I'm not super comfortable with regular expressions, so if I have screwed something up, please let me know. I have done some basic testing and it has functioned fine thus far.
* Update README to include fr-CM in isMobilePhone
* Add (very) basic testing for Cameroonian mobile number
* Fix missing brace (whoops!)
* Fix commas (I hope)
* Fix sloppy tests
Fix my sloppy tests. I'm really tired and probably should not be working on this, but I accidentally added an extra digit while typing.
* Update regex for correctness
Add mobile prefix (6) to regex, remove space allowance, and optimize regex
* Update tests for correctness
* Remove invalid space
Sorry!
* Rerun failed tests (internal server error)
@tarob0ba
tarob0ba deleted the patch-1 branch November 1, 2021 00:31
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 first-prhacktoberfest-acceptedmc-to-landJust merge-conflict standing between the PR and landing.ready-to-landFor PRs that are reviewed and ready to be landed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tarob0ba@tux-tn@profnandaa