Hello All ,
I have a text field which is used to enter the phone number in the format Pattern: (xxx) xxx-xxxx. So I have set the validation as phone number in display,edit,validation and data which is "text{'('999')' 999-9999}" , but problem is what ever the number I enter it shows the validation is failed.I want when a user enter phone number it will automatically set the phone number is the specified pattern. For Ex : If I enter - 1234567899 , then it should display (123)456-7899 in the text field. If the user tries to enter some text values instead of number it will make the value of the field blank . Any idea how to do it ?
Thanks.
Bibhu.
Views
Replies
Total Likes
The script below is attached to the exit event of a Text Field with a maximum length of 14. The script enables the entry of 123 456 7890, also.
// form1.page1.subform1.telephone::exit - (JavaScript, client)
if (!(this.isNull)) {
var str = this.rawValue;
var regExp = /^\d{10}$/;
if (regExp.test(str)) {
this.rawValue = "(" + str.substr(0,3) + ") " + str.substr(3,3) + "-" + str.substr(6,4);
}
else {
regExp = /^[1-9]\d{2}\s\d{3}\s\d{4}$/;
if (regExp.test(str)) {
this.rawValue = "(" + str.substr(0,3) + ") " + str.substr(4,3) + "-" + str.substr(8,4);
}
else {
regExp = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
if (!(regExp.test(str))) {
xfa.host.messageBox("Please enter the telephone number in the format '(999) 999-9999'.");
this.rawValue = null;
}
}
}
}
The script allows the entry of
1234567890 with the result (123) 456-7890
123 456 7890 with the result (123) 456-7890
(123)456-7890 with the result (123)456-7890
(123) 456-7890 with the result (123) 456-7890
otherwise the result is null.
Steve
Views
Replies
Total Likes
Hello Steve,
Thanks a lot. That worked perfectly. I want to set the focus to the field if the result is null. Could I just add a set focus script to it ?
Thanks.
Bibhu.
Views
Replies
Total Likes
// form1.page1.subform1.telephone::exit - (JavaScript, client)
if (!(this.isNull)) {
var str = this.rawValue;
var regExp = /^\d{10}$/;
if (regExp.test(str)) {
this.rawValue = "(" + str.substr(0,3) + ") " + str.substr(3,3) + "-" + str.substr(6,4);
}
else {
regExp = /^[1-9]\d{2}\s\d{3}\s\d{4}$/;
if (regExp.test(str)) {
this.rawValue = "(" + str.substr(0,3) + ") " + str.substr(4,3) + "-" + str.substr(8,4);
}
else {
regExp = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
if (!(regExp.test(str))) {
xfa.host.messageBox("Please enter the telephone number in the format '(999) 999-9999'.");
this.rawValue = null;
xfa.host.setFocus(this);
}
}
}
}
Views
Replies
Total Likes
Hello Steve,
Thanks for the solution.
Bibhu.
Views
Replies
Total Likes
Sorry to re-open an old thread, but I thought this would be a good place to post this question:
How would I include additional entries into this script to convert to the same end result? Specifically 123-456-7890 and 123.456.7890.
I've tried inserting another if statement with /^\d{3}\-\d{3}\-\d{4}$/; as the variable, but i always seem to break something else.
I'm pretty new at this and have been trying for quite a few hours.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies