Have you tried trimming your test string to the number of characters in the RegExp?
// Show correct FLU Agent according to Client Last Name
var FLU1 = /^([A-G][a-z])$/;
var FLU2 = /^([H-O][a-z]|P[a-e])$/;
var FLU3 = /^(P[f-z]|[Q-Z][a-z])$/;
if (HasValue(xfa.resolveNode("form1.dbObjects.clientLastName") {
var NameString = xfa.resolveNode("form1.dbObjects.clientLastName").rawValue.substring(0,2);
switch (true) {
case (FLU1.test(NameString) ):
this.rawValue = "Carol";
break;
case (FLU2.test(NameString) ):
this.rawValue = "Karen";
break;
case (FLU3.test(NameString) ):
this.rawValue = "Cathy";
break;
default:
app.alert("Unknown Last name: " + this.getField("clientLastName").value, 1, 1);
this.rawValue = "";
break;
}// end switch
} else {
this.rawValue ='';
} // end if HasValue
You also might want to consider the 'switch(){}" statement since it skips all following test once a test, case, has been meet and allows for a default action when none of the above tests are met.
I have also added code to prevent running the script when there is no inputted value to the last name.
I have not tested the code for LiveCycle Designer but modified it from AcroForms JavaScript.