- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-08-2020 03:24 AM
There are two phone number field for requester for and requested by:
Phone Number validation for populating phone number field on load(it takes value of phone number from user table)
It should only accept these formats-(999) 999-9999, 999-999-9999, and 9999999999
I have this code for on change: working fine populating numbers for these formats-(999) 999-9999, 999-999-9999, and 9999999999 (REQUESTED FOR)
var pattern = /^[+1]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/;
var phone = g_form.getValue('phone_number_requested_for');
if(!pattern.test(newValue)){
alert('Phone enter a valid phone number');
g_form.setValue('phone_number_requested_for', '');
}
else{
phone = phone.replace(/\D/g,'');
var regex = /^\d{10}$/;
var is_valid = regex.test(phone);
if(!is_valid){
alert('Invalid phone number. Please enter 10 digits/ Do not add country code');
g_form.clearValue('phone_number_requested_for');
}
}
}
But same code is not working for onLoad:(REQUESTED BY)
function onLoad() {
//Type appropriate comment here, and begin script below
var user = g_form.getValue('requested_by');
var ga = new GlideAjax('InternalApplicationUtil');
ga.addParam('sysparm_name', 'getValues');
ga.addParam('sysparm_val', user);
ga.getXML(getdata);
function getdata(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var parseData = JSON.parse(answer);
g_form.setValue('email_requested_by', parseData.email);
g_form.setValue('email_requested_for', parseData.email);
g_form.setValue('phone_number_requested_for', parseData.mobile_phone);
// g_form.setValue('phone_number_requested_by', parseData.mobile_phone);
var phone=parseData.mobile_phone;
//alert(check);
var pattern = /^[+1]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/;
//var phone = g_form.getValue('phone_number_requested_for');
if(!pattern.test(phone)){
alert(phone+" f");
alert('Phone enter a valid phone number');
g_form.setValue('phone_number_requested_by', '');
}
else{
phone = phone.replace(/\D/g,'');
var regex = /^\d{10}$/;
alert(' m '+phone);
var is_valid = regex.test(phone);
if(!is_valid){
alert('d '+phone);
alert('Invalid phone number. Please enter 10 digits/ Do not add country code');
g_form.clearValue('phone_number_requested_by');
}
}
}
}
Can someone tell what am I missing here?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-08-2020 10:43 PM
Hi Deepali,
Firstly, can you try below modified client script for onChange:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var oldV = oldValue;
var validRegExp = /^\(?(\d{3})\)?[ -]?(\d{3})[ -]?(\d{4})$/;
var checkPhone = g_form.getValue('phone_number_requested_for');
if (checkPhone.search(validRegExp) == -1)
{
alert('Enter valid mobile phone in : (999) 999-9999, 999-999-9999, and 9999999999 formats');
g_form.setValue('phone_number_requested_for',oldV);
}
}
Secondly,
try implementing same regex expression check for On Load aswell.
ex:
//alert(check);
var validRegExp = /^\(?(\d{3})\)?[ -]?(\d{3})[ -]?(\d{4})$/;
//var phone = g_form.getValue('phone_number_requested_for');
if (phone.search(validRegExp) == -1)
{
alert('Enter valid mobile phone in : (999) 999-9999, 999-999-9999, and 9999999999 formats');
g_form.setValue('phone_number_requested_by','');
}
else{
g_form.setValue('phone_number_requested_by', phone);
}
}
Note:
since we are using else condition to set phone number if its valid, you can remove below line:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-08-2020 05:28 AM
Hi,
You may get help from below BR script.
var phoneValue = current.getValue('u_phone'); //get value from of phone no.
var contactno = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
if (phoneValue.value.match(contactno)) {
gs.addInfoMessage("Valid contact number");
return true;
} else {
gs.addErrorMessage("Invalid contact number");
current.setAbortAction(true);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-08-2020 09:26 PM
Hi Deepali,
Can you try below onChange client script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var oldV = oldValue;
var validRegExp = /^\(?(\d{3})\)?[ -]?(\d{3})[ -]?(\d{4})$/;
var checkPhone = g_form.getValue('mobile_phone');
if (checkPhone.search(validRegExp) == -1)
{
alert('Enter valid mobile phone in : (999) 999-9999, 999-999-9999, and 9999999999 formats');
g_form.setValue('mobile_phone',oldV);
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-08-2020 10:43 PM
Hi Deepali,
Firstly, can you try below modified client script for onChange:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var oldV = oldValue;
var validRegExp = /^\(?(\d{3})\)?[ -]?(\d{3})[ -]?(\d{4})$/;
var checkPhone = g_form.getValue('phone_number_requested_for');
if (checkPhone.search(validRegExp) == -1)
{
alert('Enter valid mobile phone in : (999) 999-9999, 999-999-9999, and 9999999999 formats');
g_form.setValue('phone_number_requested_for',oldV);
}
}
Secondly,
try implementing same regex expression check for On Load aswell.
ex:
//alert(check);
var validRegExp = /^\(?(\d{3})\)?[ -]?(\d{3})[ -]?(\d{4})$/;
//var phone = g_form.getValue('phone_number_requested_for');
if (phone.search(validRegExp) == -1)
{
alert('Enter valid mobile phone in : (999) 999-9999, 999-999-9999, and 9999999999 formats');
g_form.setValue('phone_number_requested_by','');
}
else{
g_form.setValue('phone_number_requested_by', phone);
}
}
Note:
since we are using else condition to set phone number if its valid, you can remove below line:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2021 07:22 AM
On the requested by tab, try to use a temporary number from https://quackr.io. Probably there should be different numbers in both tabs. To be honest, I'm not good at this at all, and I'm skeptical that the phone number has to be entered somewhere. The phone number is private information about you that should not be shared anywhere. That's why I always opt for temporary numbers. Maybe it will work for you too. I hope I have helped you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-27-2025 04:47 AM
Sometimes, websites don’t accept regular phone numbers, especially during registration. If you’re stuck, try using a platform where you can receive sms online uk. It’s super easy and saves a lot of time.