Don't know if this will be useful for anyone or not. But I had an issue of people plugging in 0000000000 or just some junk numbers into my phone field. So put some code together to help combat that.
This code uses phone for the phone number field name. It checks the first 3 numbers of the phone field against an array of area codes. And it also checks the 4th number in the phone number and makes sure its not a 0 or a 1.
And for anyone who don't know, this code goes into the ServerSide Validation code area found on the Validation tab.
My forte is not arrays so there might be a better way to code it.
This code uses phone for the phone number field name. It checks the first 3 numbers of the phone field against an array of area codes. And it also checks the 4th number in the phone number and makes sure its not a 0 or a 1.
And for anyone who don't know, this code goes into the ServerSide Validation code area found on the Validation tab.
My forte is not arrays so there might be a better way to code it.
<?php
$phone = $_POST['phone'];
$areacoeds = array();
$areacodes[] = 201;
$areacodes[] = 202;
$areacodes[] = 203;
$areacodes[] = 204;
$areacodes[] = 205;
$areacodes[] = 206;
$areacodes[] = 207;
$areacodes[] = 208;
$areacodes[] = 209;
$areacodes[] = 210;
$areacodes[] = 212;
$areacodes[] = 213;
$areacodes[] = 214;
$areacodes[] = 215;
$areacodes[] = 216;
$areacodes[] = 217;
$areacodes[] = 218;
$areacodes[] = 219;
$areacodes[] = 224;
$areacodes[] = 225;
$areacodes[] = 227;
$areacodes[] = 228;
$areacodes[] = 229;
$areacodes[] = 231;
$areacodes[] = 234;
$areacodes[] = 239;
$areacodes[] = 240;
$areacodes[] = 242;
$areacodes[] = 246;
$areacodes[] = 248;
$areacodes[] = 250;
$areacodes[] = 251;
$areacodes[] = 252;
$areacodes[] = 253;
$areacodes[] = 254;
$areacodes[] = 256;
$areacodes[] = 260;
$areacodes[] = 262;
$areacodes[] = 264;
$areacodes[] = 267;
$areacodes[] = 268;
$areacodes[] = 269;
$areacodes[] = 270;
$areacodes[] = 276;
$areacodes[] = 281;
$areacodes[] = 283;
$areacodes[] = 284;
$areacodes[] = 289;
$areacodes[] = 301;
$areacodes[] = 302;
$areacodes[] = 303;
$areacodes[] = 304;
$areacodes[] = 305;
$areacodes[] = 306;
$areacodes[] = 307;
$areacodes[] = 308;
$areacodes[] = 309;
$areacodes[] = 310;
$areacodes[] = 312;
$areacodes[] = 313;
$areacodes[] = 314;
$areacodes[] = 315;
$areacodes[] = 316;
$areacodes[] = 317;
$areacodes[] = 318;
$areacodes[] = 319;
$areacodes[] = 320;
$areacodes[] = 321;
$areacodes[] = 323;
$areacodes[] = 330;
$areacodes[] = 331;
$areacodes[] = 334;
$areacodes[] = 336;
$areacodes[] = 337;
$areacodes[] = 339;
$areacodes[] = 340;
$areacodes[] = 345;
$areacodes[] = 347;
$areacodes[] = 351;
$areacodes[] = 352;
$areacodes[] = 360;
$areacodes[] = 361;
$areacodes[] = 386;
$areacodes[] = 401;
$areacodes[] = 402;
$areacodes[] = 403;
$areacodes[] = 404;
$areacodes[] = 405;
$areacodes[] = 406;
$areacodes[] = 407;
$areacodes[] = 408;
$areacodes[] = 409;
$areacodes[] = 410;
$areacodes[] = 412;
$areacodes[] = 413;
$areacodes[] = 414;
$areacodes[] = 415;
$areacodes[] = 416;
$areacodes[] = 417;
$areacodes[] = 418;
$areacodes[] = 419;
$areacodes[] = 423;
$areacodes[] = 424;
$areacodes[] = 425;
$areacodes[] = 434;
$areacodes[] = 435;
$areacodes[] = 440;
$areacodes[] = 441;
$areacodes[] = 443;
$areacodes[] = 445;
$areacodes[] = 450;
$areacodes[] = 464;
$areacodes[] = 469;
$areacodes[] = 470;
$areacodes[] = 473;
$areacodes[] = 475;
$areacodes[] = 478;
$areacodes[] = 479;
$areacodes[] = 480;
$areacodes[] = 484;
$areacodes[] = 501;
$areacodes[] = 502;
$areacodes[] = 503;
$areacodes[] = 504;
$areacodes[] = 505;
$areacodes[] = 506;
$areacodes[] = 507;
$areacodes[] = 508;
$areacodes[] = 509;
$areacodes[] = 510;
$areacodes[] = 512;
$areacodes[] = 513;
$areacodes[] = 514;
$areacodes[] = 515;
$areacodes[] = 516;
$areacodes[] = 517;
$areacodes[] = 518;
$areacodes[] = 519;
$areacodes[] = 520;
$areacodes[] = 530;
$areacodes[] = 540;
$areacodes[] = 541;
$areacodes[] = 551;
$areacodes[] = 557;
$areacodes[] = 559;
$areacodes[] = 561;
$areacodes[] = 562;
$areacodes[] = 563;
$areacodes[] = 564;
$areacodes[] = 567;
$areacodes[] = 570;
$areacodes[] = 571;
$areacodes[] = 573;
$areacodes[] = 574;
$areacodes[] = 580;
$areacodes[] = 585;
$areacodes[] = 586;
$areacodes[] = 601;
$areacodes[] = 602;
$areacodes[] = 603;
$areacodes[] = 604;
$areacodes[] = 605;
$areacodes[] = 606;
$areacodes[] = 607;
$areacodes[] = 608;
$areacodes[] = 609;
$areacodes[] = 610;
$areacodes[] = 612;
$areacodes[] = 613;
$areacodes[] = 614;
$areacodes[] = 615;
$areacodes[] = 616;
$areacodes[] = 617;
$areacodes[] = 618;
$areacodes[] = 619;
$areacodes[] = 620;
$areacodes[] = 623;
$areacodes[] = 626;
$areacodes[] = 630;
$areacodes[] = 631;
$areacodes[] = 636;
$areacodes[] = 641;
$areacodes[] = 646;
$areacodes[] = 647;
$areacodes[] = 649;
$areacodes[] = 650;
$areacodes[] = 651;
$areacodes[] = 660;
$areacodes[] = 661;
$areacodes[] = 662;
$areacodes[] = 664;
$areacodes[] = 667;
$areacodes[] = 670;
$areacodes[] = 671;
$areacodes[] = 678;
$areacodes[] = 682;
$areacodes[] = 701;
$areacodes[] = 702;
$areacodes[] = 703;
$areacodes[] = 704;
$areacodes[] = 705;
$areacodes[] = 706;
$areacodes[] = 707;
$areacodes[] = 708;
$areacodes[] = 709;
$areacodes[] = 712;
$areacodes[] = 713;
$areacodes[] = 714;
$areacodes[] = 715;
$areacodes[] = 716;
$areacodes[] = 717;
$areacodes[] = 718;
$areacodes[] = 719;
$areacodes[] = 720;
$areacodes[] = 724;
$areacodes[] = 727;
$areacodes[] = 731;
$areacodes[] = 732;
$areacodes[] = 734;
$areacodes[] = 737;
$areacodes[] = 740;
$areacodes[] = 754;
$areacodes[] = 757;
$areacodes[] = 758;
$areacodes[] = 760;
$areacodes[] = 763;
$areacodes[] = 765;
$areacodes[] = 767;
$areacodes[] = 770;
$areacodes[] = 772;
$areacodes[] = 773;
$areacodes[] = 774;
$areacodes[] = 775;
$areacodes[] = 778;
$areacodes[] = 780;
$areacodes[] = 781;
$areacodes[] = 784;
$areacodes[] = 785;
$areacodes[] = 786;
$areacodes[] = 787;
$areacodes[] = 801;
$areacodes[] = 802;
$areacodes[] = 803;
$areacodes[] = 804;
$areacodes[] = 805;
$areacodes[] = 806;
$areacodes[] = 807;
$areacodes[] = 808;
$areacodes[] = 809;
$areacodes[] = 810;
$areacodes[] = 812;
$areacodes[] = 813;
$areacodes[] = 814;
$areacodes[] = 815;
$areacodes[] = 816;
$areacodes[] = 817;
$areacodes[] = 818;
$areacodes[] = 819;
$areacodes[] = 828;
$areacodes[] = 830;
$areacodes[] = 831;
$areacodes[] = 832;
$areacodes[] = 835;
$areacodes[] = 843;
$areacodes[] = 845;
$areacodes[] = 847;
$areacodes[] = 848;
$areacodes[] = 850;
$areacodes[] = 856;
$areacodes[] = 857;
$areacodes[] = 858;
$areacodes[] = 859;
$areacodes[] = 860;
$areacodes[] = 862;
$areacodes[] = 863;
$areacodes[] = 864;
$areacodes[] = 865;
$areacodes[] = 867;
$areacodes[] = 868;
$areacodes[] = 869;
$areacodes[] = 870;
$areacodes[] = 872;
$areacodes[] = 876;
$areacodes[] = 878;
$areacodes[] = 901;
$areacodes[] = 902;
$areacodes[] = 903;
$areacodes[] = 904;
$areacodes[] = 905;
$areacodes[] = 906;
$areacodes[] = 907;
$areacodes[] = 908;
$areacodes[] = 909;
$areacodes[] = 910;
$areacodes[] = 912;
$areacodes[] = 913;
$areacodes[] = 914;
$areacodes[] = 915;
$areacodes[] = 916;
$areacodes[] = 917;
$areacodes[] = 918;
$areacodes[] = 919;
$areacodes[] = 920;
$areacodes[] = 925;
$areacodes[] = 928;
$areacodes[] = 931;
$areacodes[] = 936;
$areacodes[] = 937;
$areacodes[] = 939;
$areacodes[] = 940;
$areacodes[] = 941;
$areacodes[] = 947;
$areacodes[] = 949;
$areacodes[] = 952;
$areacodes[] = 954;
$areacodes[] = 956;
$areacodes[] = 959;
$areacodes[] = 970;
$areacodes[] = 971;
$areacodes[] = 972;
$areacodes[] = 973;
$areacodes[] = 975;
$areacodes[] = 978;
$areacodes[] = 979;
$areacodes[] = 980;
$areacodes[] = 984;
$areacodes[] = 985;
$areacodes[] = 989;
$areacode = substr($phone, 0, 3);
$clean = true;
foreach($areacodes as $findcode)
{
preg_match("/".$findcode."/", $areacode, $matches);
if(count($matches) > 0)
{
$clean = false;
}
}
if($clean)
{
return 'The area code you entered was invalid. Please verify your phone number.';
}
if(substr($phone, 3, 1) == '0' || substr($phone, 3, 1) == '1') {
return 'The phone number you entered was invalid. Please verify your phone number.';
};
?>
I ran into a couple of things using this. It's not broke or anything. Being that this is serverside validation, if there was an error I wanted it to republish the stuff that the person initially put in.
Upon setting the Republish fields if error occured to Try to Republish, the email field was filled in with javascript. This is due to the Email Cloaking plugin in Joomla. So that needed to be turned off.
The other minor issue is that I also use the Captcha feature. If I had the Captcha setup to use fonts then I couldn't re-submit the form as it kept telling me that the Captcha code was incorrect. Setting Captcha to use "Without Fonts" fixed the problem.
Upon setting the Republish fields if error occured to Try to Republish, the email field was filled in with javascript. This is due to the Email Cloaking plugin in Joomla. So that needed to be turned off.
The other minor issue is that I also use the Captcha feature. If I had the Captcha setup to use fonts then I couldn't re-submit the form as it kept telling me that the Captcha code was incorrect. Setting Captcha to use "Without Fonts" fixed the problem.
Hi pcpros2go,
There's also a 'Skip on republish' box that you can use to avoid republishing the Captcha code.
Bob
There's also a 'Skip on republish' box that you can use to avoid republishing the Captcha code.
Bob
This topic is locked and no more replies can be posted.
