导读:其实,我不像大家一样,从一开始就重视着正则表达式,我甚至都觉得好浪费时间浪费精力,都没用的。因为,如果我要判断是不是为数字,我可以使用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—基础知识点】:正则表达式(应用)的更多相关文章

  1. JavaScript语言基础知识点图示(转)

    一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...

  2. JavaScript语言基础知识点图示

    原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...

  3. JavaScript 语言基础知识点总结

    网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )  

  4. JavaScript 语言基础知识点总结(思维导图)

    JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaS ...

  5. 【JavaScript 5—基础知识点】:正则表达式(笔记)

    一.总体概览 1.1,什么是正则 又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符 ...

  6. 一套最全的JavaScript 语言基础知识点总结(思维导图10张)

    1.DOM基础操作 2.数组基础 3.函数基础 4.运算符 5.流程控制语句 6.正则表达式 7.字符串函数 8.数据类型 9.变量 10.window对象

  7. 【JavaScript 8—基础知识点】:DOM

    一.总体概述 1.1,什么是DOM DOM(Document Object Model):D(文档):整个web加载的网页文档:O(对象):类似于window对象之类的东西,可以调用属性和方法,在这里 ...

  8. 【JavaScript 7—基础知识点】:BOM

    一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...

  9. 【JavaScript 4—基础知识点】:函数

    导读:函数这个东西,从VB开始就一直在用,不过那时候一般写不出来自己的函数或者类,觉得最高大上的,就是调用API函数了.现在,学习到了JavaScript,总结总结函数,显得很有必要.这篇文章,就从最 ...

随机推荐

  1. css选择器(基础)

    CSS选择器:     一个样式的语法是由选择器+属性+属性值三部分组成: 到底什么是选择器呢? 答:个人直白的理解为:选择一种要对它进行操作的标签的方法就叫做选择器.也就是说选择器就是一种选择元素的 ...

  2. 【排序】插入排序:最稳定:时间复杂度O(n^2)

    想象着自己在玩扑克的时候抓牌,每抓到一张牌,按照从小到大的顺序排序. 如果第二张的点数小于第一张,就交换这两张牌,默认每次抓牌之前,前面的已经排好序了. 再来一张牌,与第二张比较,如果小于第二张,交换 ...

  3. GoAccess参数选项

    GoAccess - 1.2 Usage: goaccess [filename] [ options ... ] [-c][-M][-H][-q][-d][...]The following opt ...

  4. 如何找到SAP Cloud for Customer标准培训和认证方面的信息

    有一些朋友询问我如何在SAP官网上找到和SAP Cloud for Customer相关的标准培训信息,我这里把步骤写出来: 登录SAP官网https://training.sap.com 输入和Cl ...

  5. 迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

    1 烧写:   烧写和4412默认镜像的烧写类似,使用fastboot. 先更新uboot,用4412默认uboot更新支持设备树的uboot 用支持设备树的uboot烧写. 进入支持设备树的uboo ...

  6. 根据HTML语义化编码

    语义化标签——http://www.html5jscss.com/html5-semantics-section.html 写HTML代码时应注意什么? 尽可能少的使用无语义的标签div和span: ...

  7. TryEnterCriticalSection

    if (TryEnterCriticalSection(&g_cs) == FALSE) { 返回 } else { 进入临界区 LeaveCriticalSection(&g_cs) ...

  8. 计算机应用第七次作业 html制作个人音乐播放站点

    计算机应用第七次作业 html制作个人音乐播放站点 请访问下边网址查看具体操作: http://www.cnblogs.com/qingyundian/p/7878892.html

  9. iOS 面试集锦2

    4.写一个setter方法用于完成@property (nonatomic,retain)NSString *name,写一个setter方法用于完成@property(nonatomic,copy) ...

  10. C语言数据类型_02

    C语言数据类型: