`
luoweifu
  • 浏览: 63326 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JavaScript正则表达式与注册验证

 
阅读更多


正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。正则表达式的用处非常广泛,下面讲解一下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正则表达式迷你书

    本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和编程等方面深入讲解了JavaScript正则表达式的相关知识,适合需要进行字符串匹配、提取、验证等操作的读者学习。 第1章介绍了正则表达式字符匹配的...

    javascript正则表达式表单验证大全

    ### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...

    JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx

    JavaScript正则表达式验证身份证号码是否合法(两种方法)分析 正则表达式(Regular Expression)是一种描述字符模式的对象。下面,我们将通过JavaScript正则表达式来验证身份证号码是否合法。 正则表达式的基本...

    javascript&正则表达式进行表单验证

    本主题将深入探讨如何利用JavaScript和正则表达式进行有效的表单验证,以实现无刷新验证,提高用户体验。 首先,JavaScript是一种广泛应用于客户端的脚本语言,它可以直接在用户的浏览器上运行,处理用户与网页的...

    精通 JavaScript正则表达式

    与正则表达式相关的字符串方法有 `match()`(找到匹配项)、`replace()`(替换匹配项)、`search()`(查找匹配项)和 `split()`(根据正则表达式分割字符串)。 例如,下面的代码展示了`test()`方法的工作原理: `...

    jq非空验证,js正则表达式验证邮箱和手机号码

    JavaScript正则表达式是用于匹配字符串模式的强大工具。在验证邮箱和手机号码时,我们需要创建符合特定规则的正则表达式。对于邮箱验证,通常的正则表达式如下: ```javascript var emailRegex = /^[a-zA-Z0-9._%...

    javascript正则表达式综合练习

    总结来说,JavaScript正则表达式是一个强大的文本处理工具,通过理解和熟练运用上述知识点,开发者可以有效地处理字符串操作,进行数据验证,以及在各种场景下实现复杂的数据匹配。`validator.js`文件可以作为实践...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    **JavaScript正则表达式迷你书(1.1版)** 正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,...

    使用正则表达式验证一年的12个月份

    在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一个正则表达式来验证输入是否符合一年12个月份的格式。 首先,我们要明确一年中的12个月份的...

    javaScript 正则表达式详解

    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常用正则表达式

    在JavaScript中,正则表达式可以用来验证用户输入,例如检查邮箱地址的有效性或手机号码的格式。以下是一些JavaScript中常见的正则表达式及其应用: 1. 邮箱验证: ```javascript const emailRegex = /^[a-zA-Z0-...

    常用Javascript正则表达式汇总

    以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...

    正则式工具(自动生成正则表达式)

    4. **代码生成**:对于多种编程语言,如Java、Python、JavaScript等,工具可以生成对应的代码片段,方便将正则表达式集成到项目中。 5. **学习资源**:为了帮助用户深入理解正则式,工具可能还包含教程、参考资料和...

    正则表达式验证器,验证常用的编程语言的正则表达式

    "正则表达式验证器"是一个实用工具,它允许用户输入自定义的正则表达式,并通过提供测试用例来验证该表达式的正确性。 这个验证器特别适用于程序员,他们可能需要在多种不同的编程语言中使用正则表达式,如...

    javaScript正则表达式讲解用ppt

    在JavaScript中,正则表达式被广泛应用于数据验证、文本处理和字符串操作等方面。 1. **正则表达式概念** - 正则表达式(Regular Expression)源自1956年美国数学家斯蒂芬的研究,用于描述一组字符串的共同特征。 ...

Global site tag (gtag.js) - Google Analytics