Khalil Shreateh specializes in cybersecurity, particularly as a "white hat" hacker. He focuses on identifying and reporting security vulnerabilities in software and online platforms, with notable expertise in web application security. His most prominent work includes discovering a critical flaw in Facebook's system in 2013. Additionally, he develops free social media tools and browser extensions, contributing to digital security and user accessibility.

Get Rid of Ads!


Subscribe now for only $3 a month and enjoy an ad-free experience.

Contact us at khalil@khalil-shreateh.com

JavaScript Regular expressions made easy, VerbalExpressions is a JavaScript library that helps to construct difficult regular expressions.

How to get started

In the browser

<script src="VerbalExpressions.js"></script>

Or use the jsDelivr CDN.

On the server (node.js)

Install:

npm install verbal-expressions

Require:

var VerEx = require('verbal-expressions');

Running tests

$ npm run grunt
(or)
$ npm test

Creating a minified version

This will generate a minified version of VerbalExpressions.js (aptly named VerbalExpressions.min.js) in a dist folder.

$ npm run build

A source map will also be created in the same folder, so you can use the original unminified source file (copied to dist as well) for debugging purposes.

Examples

Here's a couple of simple examples to give an idea of how VerbalExpressions works:

Testing if we have a valid URL

// Create an example of how to test for correctly formed URLs
var tester = VerEx()
    .startOfLine()
    .then('http')
    .maybe('s')
    .then('://')
    .maybe('www.')
    .anythingBut(' ')
    .endOfLine();

// Create an example URL
var testMe = 'https://www.google.com';

// Use RegExp object's native test() function
if (tester.test(testMe)) {
    alert('We have a correct URL '); // This output will fire}
} else {
    alert('The URL is incorrect');
}

console.log(tester); // Outputs the actual expression used: /^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$/

Replacing strings

// Create a test string
var replaceMe = 'Replace bird with a duck';

// Create an expression that seeks for word "bird"
var expression = VerEx().find('bird');

// Execute the expression like a normal RegExp object
var result = expression.replace(replaceMe, 'duck');

// Outputs "Replace duck with a duck"
alert(result);

Shorthand for string replace:

var result = VerEx().find('red').replace('We have a red house', 'blue');

// Outputs "We have a blue house"
alert(result);

API documentation

You can find the API documentation at the wiki pages.

Download
Social Media Share