Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Restrict user input to characters in IBM System i 00280 code page

We need to restrict user input in a classic ASP web site to the characters allowed by the 00280 code page of IBM System i.

Is there a way to do it in a sane way besides having a (JavaScript|VBScript) function checking every character of an input string against a string of allowed characters?

A basic classic ASP function I thought of:

Function CheckInput(text, replacement)
    Dim output : output = ""
    Dim haystack : haystack = "abcd.. " ' Insert here the allowed characters.
    Dim i : i = 0
    For i = 1 To Len(text)
        Dim needle : needle = Mid(text, i, 1)
        If InStr(haystack, needle) = 0 Then
            needle = replacement
        End If
        output = output & needle
    Next
    CheckInput = output
End Function

Would - in my function - a RegExp be an overkill?

like image 494
Albireo Avatar asked Jan 25 '26 13:01

Albireo


1 Answers

The short answer to your first question is: No. To your second question: RegEx might not help you here because not all RegEx implementation in browsers will support the characters you need to test and neither does VBScript version of RegEx.

Even using the code approach you are proposing would need some very careful thought. In order to be able to place the set of characters you want to support in as string literal the codepage that you save the ASP file would need to be one that covers all the characters needed or alternatively you would need to use AscW to help you build a string containing those characters.

One slightly simpler approach would be to use Javascript and have the page charset and codepage set to UTF-8. This would allow you to create a string literal containing anyset of characters.

like image 153
AnthonyWJones Avatar answered Jan 29 '26 12:01

AnthonyWJones



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!