【JavaScript 6—基础知识点】:正则表达式(应用)
导读:其实,我不像大家一样,从一开始就重视着正则表达式,我甚至都觉得好浪费时间浪费精力,都没用的。因为,如果我要判断是不是为数字,我可以使用Numberic()方法,如果要去空格的话,使用trim()不就好了嘛。我干嘛还非得写正则呢?但是,后来就发现,自己的认识真的很有问题。(测试时,均使用的ASP.NET)
一、去空格
1.1,使用trim()方法
有时候在输入的时候,会不小心的输入空格,每次都要重新返回去输入,特别麻烦。我就想能不能将我输入的所有空格都去除掉。当我使用TextBox2.Text = TextBox1.Text.Trim();去进行测试时,结果跟我想的很有出入。请看结果:
说明:我想要的实现是,将文本中所有的空格都去除,也就是说预期的第二个文本框的内容应该是:我在测试!结果却和预期结果有出入。当我在感叹号后再加入两个空格,通过文本的长度去测试是否去除空格时,结果是:
说明:这时候返现长度减少了4,也就是成功的去除掉了行前和行后的空格。由此可见,使用trim()方法去除空格,无法达到自己的效果。这时再来看使用正则的效果:
1.2,使用正则表达式
<span style="font-size:18px;"><span style="font-size:24px;"><span style="font-family:KaiTi_GB2312;font-size:24px;"> string str1 = TextBox1.Text;
Label1.Text = "第一个文本框的文本长度是:" + str1.Length;
string str2 = Regex.Replace(str1, @"\s", "");
TextBox2.Text = str2;
Label2.Text = "第二个文本框的文本长度是:" + str2.Length;</span></span></span>
说明:使用正则,则是清除了所有的空格,也就是达到了我的预期目的。但在进行这个测试的过程中,我发现了可以直接用字符串的replace()方法直接将其空格替换掉。所以说,虽然正则有很大的灵活性,但也不是最佳选择,是否使用正则,应视情况而定。
二、验证控件VS正则
在ASP.net中,使用验证控件也可以验证文本是否为空,是否为数字,是否为邮箱地址等。下面以邮箱为例进行说明:
2.1,使用正则表达式
<span style="font-size:18px;"><span style="font-size:24px;"><span style="font-family:KaiTi_GB2312;font-size:24px;"><body>
<form id="form1" runat="server">
<div style="margin-left: 320px">
邮箱:<asp:TextBox ID="txtMail" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ForeColor="Red" runat="server" ErrorMessage="请正确输入邮箱地址!" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="txtMail"></asp:RegularExpressionValidator>
<asp:Button ID="Button1" runat="server" Text="测试" />
</div>
</form>
</body></span></span></span>
2.2,使用控件属性
在ASP.net中,验证控件都已经封装好了正则表达式,只需要在属性中进行设置就好了,不用自己再写。但就算是这样,其所谓的验证控件也是通过简单的正则表达式来进行组合封装的。
三、个人感受
根据自己所做的实例,正则表达式,比日常用的函数,或者控件,更有灵活性。也就是说,我们可以通过正则表达式,写出任意我们想匹配验证的客户端输入,它可以针对个人个性化的验证。从而根据匹配结果,反馈给客户具体的验证信息,增强其体验舒适度。
当然,要写出一个符合自己心意的正则表达式,则需要对其基础表达式,模式匹配符有一定熟悉度才行。所以接下来,我要做的工作就是,使用这一项看似简单的东西。在上篇博客中总结了正则的基本表达,很多很多,这些如果不去使用,压根就无法机械的记住。
【JavaScript 6—基础知识点】:正则表达式(应用)的更多相关文章
- JavaScript语言基础知识点图示(转)
一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...
- JavaScript语言基础知识点图示
原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...
- JavaScript 语言基础知识点总结
网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )
- JavaScript 语言基础知识点总结(思维导图)
JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaS ...
- 【JavaScript 5—基础知识点】:正则表达式(笔记)
一.总体概览 1.1,什么是正则 又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符 ...
- 一套最全的JavaScript 语言基础知识点总结(思维导图10张)
1.DOM基础操作 2.数组基础 3.函数基础 4.运算符 5.流程控制语句 6.正则表达式 7.字符串函数 8.数据类型 9.变量 10.window对象
- 【JavaScript 8—基础知识点】:DOM
一.总体概述 1.1,什么是DOM DOM(Document Object Model):D(文档):整个web加载的网页文档:O(对象):类似于window对象之类的东西,可以调用属性和方法,在这里 ...
- 【JavaScript 7—基础知识点】:BOM
一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...
- 【JavaScript 4—基础知识点】:函数
导读:函数这个东西,从VB开始就一直在用,不过那时候一般写不出来自己的函数或者类,觉得最高大上的,就是调用API函数了.现在,学习到了JavaScript,总结总结函数,显得很有必要.这篇文章,就从最 ...
随机推荐
- 前端之CSS列表及背景类属性
一.列表类属性: 1.列表符号样式: list-style-type:disc(实心圆)|circle(空心圆)|square(实心方块)|decimal(数字)|none(去掉列表符号样式); 2. ...
- 数据库查询,显示为树形结构(easyui+SSM)
在实际项目上,有很多地方后台存了一个表,但是在显示查询的时候需要显示为树形结构. 本项目是easyui+SSM框架. 前台程序为: <!DOCTYPE html> <html> ...
- P3375 【模板】KMP字符串匹配(全程注释,简单易懂)
题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[ ...
- C#调用C库的注意事项
作者:朱金灿 来源:http://blog.csdn.net/clever101 注意事项一: 从C#的exe进入C库的源码进行调试,需要先"启用非托管代码调试",如下图: 注意事 ...
- spark-wordcount-sample算子测试
import org.apache.spark.{SparkConf, SparkContext} object radomSampleU { def main(args: Array[String] ...
- PHP 根据两点的经纬度计算距离
/** * @name 根据经纬度确定两点的距离[地理位置] * @author tbj * @param float $lat 纬度值 * @param float $lng 经度值 * @date ...
- MS SQL生成数据库字典脚本
开发一个项目时都会有一个蛋疼的问题——写数据库需求文档,然后根据这个文档来建数据库,如果后来需求改了,要改数据库还要改文档,有时忙着忙着就忘改了,导致文档是过期的.那么我们自己写个脚本在数据库运行直接 ...
- COFF文件格式
链接器 目录 一 COFF-Common Object File Format-通用对象文件格式... 3 COFF的文件格式与结构体... 4 文件头... 5 numberOfSections(区 ...
- MySQL报错竞技赛
以下报错,我几乎没出过几个. ERROR 2 系统找不到文件: mysql-5.6.1X默认的配置文件是在C:\Program Files\MySQL\MySQL Server 5.6\my-defa ...
- ssh复制remote
rsync rsync localdirectory username@10.211.55.4:/home/username/Downloads/localdirectory -r