Special characters not allowed and length of characters in single line text varaible

Dhana1
Tera Contributor

Hi,

I have a requirement have a single line text variable. In that variable the length should be minimum 15 characters and maximum 30 characters and it should not allow special characters.

Can anyone help me how to achieve this in single line text field? If its is select box i can give as max_length=30; in variable attributes in default value but its singe line text.

4 REPLIES 4

Jaspal Singh
Mega Patron
Mega Patron

Hi Dhana,

 

An onChange() Client script that runs on the single line text field as below should help.

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
    var valueis = g_form.getValue('yoursinglelinetextfield');//replace field name
    if (valueis.length < 15) {
        alert('Minimum 15 characters required');
    } else if (valueis.length > 30) {
        alert('Maximum 30 characters required');
    }
    var specialCharRegex = /[~@|$^<>\*+=;?`')[\]]/;
    if (specialCharRegex.test(valueis)) {
        alert('No Special characters allowed');
        g_form.setValue('yoursinglelinetextfield', ''); //replace field name
    }


}

Tanushree Doiph
Mega Guru

Hi,

 

 write a client-script onSubmit function and paste the below code which will not allow special characters.

 

1) Using indexOf function

 

 function isSpclChar(){

 

  var text = g_form.getValue("field_name");

 

  var length=text.length;

 

if(length <15)

 

{

 

  alert("Please enter 15 characters");

 

}

 

else if(length >30)

 

{

 

  alert("Please enter below 30 characters");

 

}


    
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
    
if(FIELD.value.indexOf(iChars) != -1) {                                                                     // FIELD =   your desired field name
  alert 
("The box has special characters. \nThese are not allowed.\n");
 g_form.setValue('field_name', '');


    
}
}

 

 

2) Using For Loop

 

 

function isSpclChar(){

 

  var text = g_form.getValue("field_name");

 

  var length=text.length;

 

if(length <15)

 

{

 

  alert("Please enter 15 characters");

 

}

 

else if(length >30)

 

{

 

  alert("Please enter below 30 characters");

 

}

 

var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
for (var i = 0; i < FIELD.value.length; i++) {                                                           // FIELD =   your desired field name
    
if (iChars.indexOf(document.qfrm.q.value.charAt(i)) != -1) {
  alert 
("The box has special characters. \nThese are not allowed.\n");
 g_form.setValue('field_name', '');

    
}
    
}

Tanushree Doiph
Mega Guru

Hi,

 

 write a client-script onSubmit function and paste the below code which will not allow special characters.

 

 function isSpclChar(){

 

  var text = g_form.getValue("field_name");

 

  var length=text.length;

 

if(length <15)

 

{

 

  alert("Please enter 15 characters");

 

}

 

else if(length >30)

 

{

 

  alert("Please enter below 30 characters");

 

}


    var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
    if(FIELD.value.indexOf(iChars) != -1) {                                                                     // FIELD =   your desired field name
  alert ("The box has special characters. \nThese are not allowed.\n");
 g_form.setValue('field_name', '');


    }
}

 

 

2) Using For Loop

 

 

function isSpclChar(){

 

  var text = g_form.getValue("field_name");

 

  var length=text.length;

 

if(length <15)

 

{

 

  alert("Please enter 15 characters");

 

}

 

else if(length >30)

 

{

 

  alert("Please enter below 30 characters");

 

}

 

var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
for (var i = 0; i < FIELD.value.length; i++) {                                                           // FIELD =   your desired field name
    if (iChars.indexOf(document.qfrm.q.value.charAt(i)) != -1) {
  alert ("The box has special characters. \nThese are not allowed.\n");
 g_form.setValue('field_name', '');
    }
    }

Namrata Khabale
Giga Guru

Hey Dhana,

 

For doing this:

 It should not allow special characters.

In Madrid and onwards there is a functionality called Validation Regex.

Refer the screenshot:

find_real_file.png

 

 

Define a regular expression (regex) to validate a variable value.

  1. Navigate to Service Catalog > Catalog Variables > Variable Validation Regex.
  2. Click New.
  3. On the form, fill the fields.

find_real_file.png

For creating your regex refer the link:

https://docs.servicenow.com/bundle/orlando-it-service-management/page/product/service-catalog-manage... 

 

And for setting maximum length You can give it in Default value-->variable attribute->max_length=30

 

Mark Correct and Helpful if it helps!!!

 

Best Regards,

Namrata.