EN
JavaScript - validate encoded URI component characters
5 points
In this short article, we would like to show how to check if some text is correctly encoded URI component using JavaScript.
Note: to know what characters should be escaped encoding URI component check this article.
Quick solution:
xxxxxxxxxx
1
const VALIDATION_EPRESSION = /^[0-9a-zA-Z-_.!~*'()%]*$/;
2
3
const validateURIComponent = (text) => {
4
VALIDATION_EPRESSION.lastIndex = 0;
5
return VALIDATION_EPRESSION.test(text);
6
};
7
8
9
// Usage example:
10
11
console.log(validateURIComponent("abcdefghijklmnopqrstuvwxyz")); // normal English letters
12
console.log(validateURIComponent("ABCDEFGHIJKLMNOPQRSTUVWXYZ")); // capital English letters
13
console.log(validateURIComponent("-_.!~*'()")); // not escaped special characters
14
console.log(validateURIComponent("%")); // escape character
15
16
console.log(validateURIComponent("@#$^&+=[]")); // should be escaped
17
console.log(validateURIComponent("ąćęłńóśźż")); // should be escaped
18
// etc.