正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式的用处非常广泛,下面讲解一下JavaScript下的正则表达式:
正则表达式语法:
语法1
re=/pattern/[flags]
语法2
re=newRegExp("pattern",["flags"])
参数
re
必选项。将要赋值为正则表达式模式的变量名。
Pattern
必选项。要使用的正则表达式模式。如果使用语法1,用"/"字符分隔模式。如果用语法2,用引号将模式引起来。
flags
可选项。如果使用语法2要用引号将flag引起来。标志可以组合使用,可用的有:
·g(全文查找出现的所有pattern),比如你有一几百行的字符串要搜索,那么你要加g标识(js默认搜索范围为一行搜索)
·i(忽略大小写)
·m(多行查找),js默认查找到第一个符合的字符串就完成任
例:
Regexp.js
function match() {
str1 = "this is JAVA java Java , this is a first RegExp programe!";
//str2 = "java";
re = /java/i;
re2 = /java/g;
re3 = new RegExp("java", "i");
r = str1.match(re);
r2 = str1.match(re2);
r3 = str1.match(re3);
document.writeln(r);
document.writeln(r2);
document.writeln(r3);
}
Test.html
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script language="javascript" src="regexp.js"></script>
<script>
match();
</script>
</body>
</html>
注册验证
register.js
function checkUserName() {
var username = document.getElementsByName("userName")[0].value;
//re = new RegExp("\s*","g");
//re = /(\s*)/g
//var isEmpty = re.test(usrname);
var nameWarning = "";
if (!(new RegExp("\\S+")).test(username)) { //判断用户名是否为空
//alert("请输入用户名!");
nameWarning = "请输入用户名!";
document.getElementById("namechick").innerText = nameWarning;
return false;
}
document.getElementById("namechick").innerText = nameWarning;
return true;
}
function checkPassword() {
var pwdWarning = "";
var password = document.getElementsByName("password")[0].value;
if (password != ""
&& !(new RegExp("^(\\s*)$")).test(password)) {//密码不为空
if(!/\w{6}/.test(password)) { //密码不是6位的字符或数字
pwdWarning = "密码为6位的字符或数字";
}
} else { //密码为空
pwdWarning = "请输入密码!";
document.getElementById("pwdchick").innerText = pwdWarning;
return false;
}
document.getElementById("pwdchick").innerText = pwdWarning;
return true;
}
function checkEmail() {
var emailWarning = "";
var email = document.getElementsByName("email")[0].value;
if (!(new RegExp("[\\w[._]]+@[\\w[._]]+\\.[\\w]+")).test(email)) { //密码不是6位的字符或数字
emailWarning = "邮箱格式不正确!";
//return false;
}
document.getElementById("emailchick").innerText = emailWarning;
return true;
}
register.html
<html>
<head>
<title>注册</title>
<style type="text/css">
.STYLE1 {color: #FF0000}
</style>
<script language="JavaScript" src="register.js">
</script>
<!--<link rel="stylesheet" type="text/css" href="./styles.css">
-->
</head>
<body>
<h2 align="center">
<strong>注册:</strong>
</h2>
<br>
<form action="success.html" method="post"
onsubmit="return checkForm(this);">
<table width="400" border="0" align="center">
<tbody>
<tr>
<td>
用户名:
</td>
<td>
<input type="text" name="userName" onblur ="return checkUserName();">
</td>
<td id="namechick" class="STYLE1"></td>
</tr>
<tr>
<td>
密码:
</td>
<td>
<input type="password" name="password" onblur ="return checkPassword();">
</td>
<td id="pwdchick" class="STYLE1"></td>
</tr>
<tr>
<td>
邮 箱:
</td>
<td>
<input type="text" name="email" onblur ="return checkEmail();">
</td>
<td id="emailchick" class="STYLE1"></td>
</tr>
<tr>
<td align="center" colspan="3">
<input type="submit" name="login" value="注 册">
</td>
</tr>
</tbody>
</table>
<br>
</form>
</body>
</html>
success.html
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1 align="center">注册成功!</h1>
</body>
</html>
分享到:
相关推荐
本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和编程等方面深入讲解了JavaScript正则表达式的相关知识,适合需要进行字符串匹配、提取、验证等操作的读者学习。 第1章介绍了正则表达式字符匹配的...
### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...
JavaScript正则表达式验证身份证号码是否合法(两种方法)分析 正则表达式(Regular Expression)是一种描述字符模式的对象。下面,我们将通过JavaScript正则表达式来验证身份证号码是否合法。 正则表达式的基本...
本主题将深入探讨如何利用JavaScript和正则表达式进行有效的表单验证,以实现无刷新验证,提高用户体验。 首先,JavaScript是一种广泛应用于客户端的脚本语言,它可以直接在用户的浏览器上运行,处理用户与网页的...
与正则表达式相关的字符串方法有 `match()`(找到匹配项)、`replace()`(替换匹配项)、`search()`(查找匹配项)和 `split()`(根据正则表达式分割字符串)。 例如,下面的代码展示了`test()`方法的工作原理: `...
JavaScript正则表达式是用于匹配字符串模式的强大工具。在验证邮箱和手机号码时,我们需要创建符合特定规则的正则表达式。对于邮箱验证,通常的正则表达式如下: ```javascript var emailRegex = /^[a-zA-Z0-9._%...
总结来说,JavaScript正则表达式是一个强大的文本处理工具,通过理解和熟练运用上述知识点,开发者可以有效地处理字符串操作,进行数据验证,以及在各种场景下实现复杂的数据匹配。`validator.js`文件可以作为实践...
这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...
**JavaScript正则表达式迷你书(1.1版)** 正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,...
在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一个正则表达式来验证输入是否符合一年12个月份的格式。 首先,我们要明确一年中的12个月份的...
JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。...JavaScript 中的正则表达式提供了强大的字符串匹配和操作能力,广泛应用于字符串处理和数据验证等领域。
下面是一段JavaScript代码示例,展示如何使用上述正则表达式验证输入: ```javascript function validateAmount(amountStr) { const regex = /^-?[0-9]+(\.[0-9]{1,2})?$/; return regex.test(amountStr); } ...
JavaScript正则表达式是JavaScript语言中一种极为重要的文本处理工具,它允许通过简洁的语法定义文本的匹配模式。这些模式可用来对字符串进行检索、替换、提取等操作。了解和掌握JavaScript正则表达式,对于提高...
在JavaScript中,正则表达式可以用来验证用户输入,例如检查邮箱地址的有效性或手机号码的格式。以下是一些JavaScript中常见的正则表达式及其应用: 1. 邮箱验证: ```javascript const emailRegex = /^[a-zA-Z0-...
以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...
4. **代码生成**:对于多种编程语言,如Java、Python、JavaScript等,工具可以生成对应的代码片段,方便将正则表达式集成到项目中。 5. **学习资源**:为了帮助用户深入理解正则式,工具可能还包含教程、参考资料和...
"正则表达式验证器"是一个实用工具,它允许用户输入自定义的正则表达式,并通过提供测试用例来验证该表达式的正确性。 这个验证器特别适用于程序员,他们可能需要在多种不同的编程语言中使用正则表达式,如...
在JavaScript中,正则表达式被广泛应用于数据验证、文本处理和字符串操作等方面。 1. **正则表达式概念** - 正则表达式(Regular Expression)源自1956年美国数学家斯蒂芬的研究,用于描述一组字符串的共同特征。 ...