We are using "RadInput.Net2.dll" and RadMaskedTextBox for phone number. We want to check if first character of area code should not be 0 or 1.
If we use CustomValidator and javascript as below, it is working fine.
For example, if phone # is "(316) 446-2777" and if I replace 3 as 1, I could see the correct error message. But if I delete 3, I can see numbers in text box as "(_16) 446-2777". But still I can see the error message as "This number cannot begin with a 1 or 0.". The prompt character is not part of the args.value.
I want to display the error message only if first character after ( is 0 or 1. Could you please help us to find out the first character only of the input text
Thanks in advance.
<
radI:RadMaskedTextBox
ID
=
"txtPhone"
runat
=
"server"
>
</
radI:RadMaskedTextBox
><
br
/>
<
asp:CustomValidator
id
=
"revBusinessPhone"
Display
=
"dynamic"
runat
=
"server"
ControlToValidate
=
"txtPhone"
ErrorMessage
=
"This number cannot begin with a 1 or 0."
ClientValidationFunction
=
"validateLength"
></
asp:CustomValidator
>
function validateLength(oSrc, args) {
var phnVal = args.Value;
if (((phnVal1.substring(0, 2)) == "(1" || (phnVal.substring(0, 2) == "(0"))) {
oSrc.innerText = "This number cannot begin with a 1 or 0.";
args.IsValid = false;
}
else {
var regex = /^(\([0-9]\d{2}\)|[0-9]\d{2})[- .]?\d{3}[- .]?\d{4}$/;
if (regex.test(phnVal)) {
args.IsValid = true;
}
else {
oSrc.innerText = "This number must contain 10 digits.";
args.IsValid = false;
}
}
return true;
}