The RegExp Object javascript
The RegExp Object javascript
<!DOCTYPE html>
<html>
<body>
<h2>The /i Modifier</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Modifiers
Modifiers define how to perform the search:
Modifier Description
/g Perform a global match (find all)
Brackets
Brackets are used to find a range of characters:
Bracket Description
[^0-9] Find any character NOT between the brackets (any non-
digit)
Metacharacters
Metacharacters are characters with a special meaning:
Character Description
\d Find a digit
Quantifiers
Quantifier Description
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript RegExp</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The g Modifier</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The m Modifier</h2>
<p>Do a multiline search for "is" at the beginning of each line in a string:</p>
<p id="demo"></p>
<script>
all there
is`
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<html>
<body>
<!DOCTYPE html>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>A global search for numbers that are NOT from 1 to 4:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>Using | as OR</h2>
<p id="demo"></p>
<script>
let text = "re, green, red, green, gren, gr, blue, yellow";
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The . Metacharacter</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The w Metacharacter</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The W Metacharacter</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The + Quantifier</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The * Quantifier</h2>
<p>A global search for an "l", followed by zero or more "o" characters:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The ? Quantifier</h2>
<p>A global search for a "1", followed by zero or one "0" characters:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The {} Quantifier</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>The ?= Quantifier</h2>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>The constructor property returns the function that created the RegExp prototype:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>The global property returns true if the "g" modifier is set, otherwise false:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>The ignoreCase property returns true if the "i" modifier is set, otherwise false:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>The lastIndex property specifies the index at which to start the next match:</p>
<p id="demo"></p>
<script>
while (pattern.test(text)==true) {
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>The multiline property returns true if the "m" modifier is set, otherwise false:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
JavaScript Form Validation
HTML form validation can be done by JavaScript.
If a form field (fname) is empty, this function alerts a message, and returns
false, to prevent the form from being submitted:
JavaScript Example
function validateForm() {
let x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Name must be filled out");
return false;
}
}
<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
let x = document.forms["myForm"]["fname"].value;
if (x == "") {
return false;
</script>
</head>
<body>
<h2>JavaScript Validation</h2>
<form name="myForm" action="/action_page.php" onsubmit="return validateForm()"
method="post">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Validation</h2>
<input id="numb">
<p id="demo"></p>
<script>
function myFunction() {
// Get the value of the input field with id="numb"
let x = document.getElementById("numb").value;
let text;
} else {
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
If a form field (fname) is empty, the required attribute prevents this form
from being submitted:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Validation</h2>
<p>If you click submit, without filling out the text field,
</body>
</html>
Data Validation
Data validation is the process of ensuring that user input is clean, correct,
and useful.
Most often, the purpose of data validation is to ensure correct user input.
Server side validation is performed by a web server, after input has been
sent to the server.
Example
Input fields with initial (default) values:
<form>
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe">
</form>
A read-only input field cannot be modified (however, a user can tab to it,
highlight it, and copy the text from it).
The value of a read-only input field will be sent when submitting the form!
Example
A read-only input field:
<form>
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John" readonl
y><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe">
</form>
The value of a disabled input field will not be sent when submitting the form!
Example
A disabled input field:
<form>
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John" disable
d><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe">
</form>
Note: The size attribute works with the following input types: text, search,
tel, url, email, and password.
Example
Set a width for an input field:
<form>
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" size="50"><br>
<label for="pin">PIN:</label><br>
<input type="text" id="pin" name="pin" size="4">
</form>
Note: When a maxlength is set, the input field will not accept more than the
specified number of characters. However, this attribute does not provide any
feedback. So, if you want to alert the user, you must write JavaScript code.
Example
Set a maximum length for an input field:
<form>
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" size="50"><br>
<label for="pin">PIN:</label><br>
<input type="text" id="pin" name="pin" maxlength="4" size="4">
</form>
The min and max attributes work with the following input types: number,
range, date, datetime-local, month, time and week.
Tip: Use the max and min attributes together to create a range of legal
values.
Example
Set a max date, a min date, and a range of legal values:
<form>
<label for="datemax">Enter a date before 1980-01-01:</label>
<input type="date" id="datemax" name="datemax" max="1979-12-
31"><br><br>
The multiple attribute works with the following input types: email, and file.
Example
A file upload field that accepts multiple values:
<form>
<label for="files">Select files:</label>
<input type="file" id="files" name="files" multiple>
</form>
The pattern attribute works with the following input types: text, date, search,
url, tel, email, and password.
Tip: Use the global title attribute to describe the pattern to help the user.
Example
An input field that can contain only three letters (no numbers or special
characters):
<form>
<label for="country_code">Country code:</label>
<input type="text" id="country_code" name="country_code"
pattern="[A-Za-z]{3}" title="Three letter country code">
</form>
The short hint is displayed in the input field before the user enters a value.
The placeholder attribute works with the following input types: text, search,
url, number, tel, email, and password.
Example
An input field with a placeholder text:
<form>
<label for="phone">Enter a phone number:</label>
<input type="tel" id="phone" name="phone"
placeholder="123-45-678"
pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
</form>
The required attribute works with the following input types: text, search, url,
tel, email, password, date pickers, number, checkbox, radio, and file.
Example
A required input field:
<form>
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
</form>
Tip: This attribute can be used together with the max and min attributes to
create a range of legal values.
The step attribute works with the following input types: number, range, date,
datetime-local, month, time and week.
Example
An input field with a specified legal number intervals:
<form>
<label for="points">Points:</label>
<input type="number" id="points" name="points" step="3">
</form>
Example
Let the "First name" input field automatically get focus when the page loads:
<form>
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" autofocus><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname">
</form>
Tip: Always specify both the height and width attributes for images. If height
and width are set, the space required for the image is reserved when the
page is loaded. Without these attributes, the browser does not know the size
of the image, and cannot reserve the appropriate space to it. The effect will
be that the page layout will change during loading (while the images load).
Example
Define an image as the submit button, with height and width attributes:
<form>
<label for="fname">First name:</label>
<input type="text" id="fname" name="fname"><br><br>
<label for="lname">Last name:</label>
<input type="text" id="lname" name="lname"><br><br>
<input type="image" src="img_submit.gif" alt="Submit" width="48
" height="48">
</form>
Example
An <input> element with pre-defined values in a <datalist>:
<form>
<input list="browsers">
<datalist id="browsers">
<option value="Edge">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
</form>
Autocomplete allows the browser to predict the value. When a user starts to
type in a field, the browser should display options to fill in the field, based on
earlier typed values.
The autocomplete attribute works with <form> and the following <input> types:
text, search, url, tel, email, password, datepickers, range, and color.
Example
An HTML form with autocomplete on, and off for one input field: