Thursday 8 August 2019

Handling Special Characters in Siebel Script

Hello All,

Recently i was working with a very basic requirement where in i had to restrict user from entering some special character in a fields.

@$&*!?~^

#

>

<

|...etc


We had done this earlier with the below code , though the code is perfect but still has some undesired looping

        var HouseNumber = this.GetFieldValue("House Number");
if ((HouseNumber != ""))
  {
  var RegillegalChars = "\\-)(,:;@*_=?.`<>[]{}!£$%^&*#/~|+' '";
      for (c=0;c< RegillegalChars.length;c++)
    {
    fax_char = RegillegalChars.substring(c,c+1);
    if (Regno.indexOf(fax_char,0) != -1)
    {
TheApplication().RaiseErrorText("'House Number' contains the "+"\'"+ fax_char +"\'"+" char. This is not allowed.");
    }
    }//for loop
    }
i was going through some javascripts sites and found on more way of achieving this,

charCodeAt(0), function that checks for the first character in a variable

and using ascii values for the variable rather then the char value, so the code modified as

var HouseNumber = this.GetFieldValue("House Number");                                                
if(HouseNumber.charCodeAt(0) <= 47)
{
TheApplication().RaiseErrorText('Invalid Character!');                                                       
}

we avoided multiple loops, and achieved the same functionality :-)

*I have used 47, as the ASCII values for special characters are less then 47 , for complete list see below
https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html

Related Post, http://www.siebelfoundations.com/2019/08/handling-special-characters-in-siebel.html

1 comment:

  1. The importance of clear signage is often underestimated, but in five area codes you should never answer reality your house number is the first chance your home has to make an impression and may actually save your life.

    ReplyDelete

Siebel GoTo View - Handling Realtime cases

 Hello All,  We all must have used GoTo view functionality of siebel to navigate to a particular view from current view. What if the require...