Skip to content

Commit 7177173

Browse files
authored
Merge pull request #38993 from tienifr/fix/37723
Validate different phone number formats
2 parents ff492c4 + 467b1b0 commit 7177173

File tree

5 files changed

+5
-5
lines changed

5 files changed

+5
-5
lines changed

src/libs/LoginUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function isEmailPublicDomain(email: string): boolean {
4040
function validateNumber(values: string): string {
4141
const parsedPhoneNumber = parsePhoneNumber(values);
4242

43-
if (parsedPhoneNumber.possible && Str.isValidPhone(values.slice(0))) {
43+
if (parsedPhoneNumber.possible && Str.isValidE164Phone(values.slice(0))) {
4444
return `${parsedPhoneNumber.number?.e164}${CONST.SMS.DOMAIN}`;
4545
}
4646

src/libs/OptionsListUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1695,7 +1695,7 @@ function getOptions(
16951695
!isCurrentUser({login: searchValue} as PersonalDetails) &&
16961696
selectedOptions.every((option) => 'login' in option && option.login !== searchValue) &&
16971697
((Str.isValidEmail(searchValue) && !Str.isDomainEmail(searchValue) && !Str.endsWith(searchValue, CONST.SMS.DOMAIN)) ||
1698-
(parsedPhoneNumber.possible && Str.isValidPhone(LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number?.input ?? '')))) &&
1698+
(parsedPhoneNumber.possible && Str.isValidE164Phone(LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number?.input ?? '')))) &&
16991699
!optionsToExclude.find((optionToExclude) => 'login' in optionToExclude && optionToExclude.login === PhoneNumber.addSMSDomainIfPhoneNumber(searchValue).toLowerCase()) &&
17001700
(searchValue !== CONST.EMAIL.CHRONOS || Permissions.canUseChronos(betas)) &&
17011701
!excludeUnknownUsers

src/libs/ReportUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3036,7 +3036,7 @@ function getParsedComment(text: string): string {
30363036
return `@${mentionWithEmailDomain}`;
30373037
}
30383038
}
3039-
if (Str.isValidPhone(mention)) {
3039+
if (Str.isValidE164Phone(mention)) {
30403040
const mentionWithSmsDomain = PhoneNumber.addSMSDomainIfPhoneNumber(mention);
30413041
if (allPersonalDetailLogins.includes(mentionWithSmsDomain)) {
30423042
return `@${mentionWithSmsDomain}`;

src/libs/UserUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ function getSmallSizeAvatar(avatarSource: AvatarSource, accountID?: number): Ava
210210
*/
211211
function getSecondaryPhoneLogin(loginList: OnyxEntry<Login>): string | undefined {
212212
const parsedLoginList = Object.keys(loginList ?? {}).map((login) => Str.removeSMSDomain(login));
213-
return parsedLoginList.find((login) => Str.isValidPhone(login));
213+
return parsedLoginList.find((login) => Str.isValidE164Phone(login));
214214
}
215215

216216
export {

src/libs/ValidationUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ function isValidUSPhone(phoneNumber = '', isCountryCodeOptional?: boolean): bool
284284

285285
// When we pass regionCode as an option to parsePhoneNumber it wrongly assumes inputs like '=15123456789' as valid
286286
// so we need to check if it is a valid phone.
287-
if (regionCode && !Str.isValidPhone(phone)) {
287+
if (regionCode && !Str.isValidPhoneFormat(phone)) {
288288
return false;
289289
}
290290

0 commit comments

Comments
 (0)