正则表达式的使用--去除字符串中空格

本文提供了一系列常用的正则表达式,用于匹配各种字符串模式,如中文字符、电子邮件地址、电话号码等,并附带了一些实用的字符串处理函数。
//功能: 1)去除字符串前后所有空格
    //      2)去除字符串中所有空格(包括中间空格,需要设置第2个参数为:g)
    function Trim(str,is_global)
    {
         var result;
         result = str.replace(/(^\s+)|(\s+$)/g,"");
         if(is_global.toLowerCase()=="g")
            result = result.replace(/\s/g,"");
         return result;
    }
    //功能:去除字符串的左空格
    String.prototype.LTrim = function()
    {
        return this.replace(/^\s+/,"");
    }
    //功能:去除字符串的右空格
    String.prototype.RTrim = function()
    {
        return this.replace(/\s+$/,"");
    }
    //功能:判断是否为数字,是则返回true,否则返回false
    function check_number(str)   
    {   
        //isNaN(str)     
        if (/^\d+$/.test(str))   
        {   
           return true;   
        }    
        else    
        {   
           alert("请输入数字");   
           return false;   
        }   
    }  
常用的正则表达式主要有以下几种:
  匹配中文字符的正则表达式: [\u4e00-\u9fa5]
  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了哦
  获取日期正则表达式:\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?
  评注:可用来匹配大多数年月日信息。
  匹配双字节字符(包括汉字在内):[^\x00-\xff]
  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
  匹配空白行的正则表达式:\n\s*\r
  评注:可以用来删除空白行
  匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</>|<.*? />
  评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
  匹配首尾空白字符的正则表达式:^\s*|\s*$
  评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
  匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
  评注:表单验证时很实用
  匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
  评注:网上流传的版本功能很有限,上面这个基本可以满足需求
  匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  评注:表单验证时很实用
  匹配国内电话号码:\d{4}-\d{7}|\d{3}-\d{8}
  评注:匹配形式如 0511 - 4405222 或 021 - 87888822
  匹配腾讯QQ号:[1-9][0-9]\{4,\}
  评注:腾讯QQ号从1000 0 开始
  匹配中国邮政编码:[1-9]\d{5}(?!\d)
  评注:中国邮政编码为6位数字
  匹配身份证:\d{17}[\d|X]|\d{15}
  评注:中国的身份证为15位或18位
  匹配ip地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。
  评注:提取ip地址时有用
  匹配特定数字:
  ^[1-9]\d*$ //匹配正整数
  ^-[1-9]\d*$ //匹配负整数
  ^-?[1-9]\d*$ //匹配整数
  ^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
  ^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
  ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
  ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
  ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
  评注:处理大量数据时有用,具体应用时注意修正
  匹配特定字符串:
  ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
  ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
  ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
  ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
  ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
  评注:最基本也是最常用的一些表达式
  Function IsRegu(Regu,s)
  '正则表达式校验
  If Regu="" Then
  Exit Function
  End if
  Dim Re,Sre
  Set Re = New RegExp
  Re.Pattern = Regu
  Sre = Re.Test(s)
  If Sre = True Then
  IsRegu = True
  Else
  IsRegu = False
  End If
  End Function
  tmp=" "
  if (IsRegu("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",tmp )) =false then
  msgbox "E-mail地址不合法 !"
  FieldCheck#N=false
  end if
  不同的语言(如PHP和JAVA)、相同语言的不同类库(如来自Sun的Java Regular Expression类库跟Apache Jakarta的正则表达式类库)间,用法会有所差别,在使用的时候,要注意这些差别。
 

本文出自 “成长的记忆录” 博客,请务必保留此出处http://zhanyah.blog.51cto.com/2821907/791581

在 JavaScript 中,正则表达式可以用来表示空格和制表符(`\t`)。以下是详细的解决方案: ### 表示空格和 `\t` 的正则表达式 1. **匹配单个空格**: - 使用 `\s` 可以匹配任何空白字符,包括空格、制表符、换行符等。 - 如果只想匹配普通的空格字符(ASCII 空格),可以直接使用正则表达式中的空格字符 ` `。 2. **匹配制表符 `\t`**: - 使用 `\t` 可以直接匹配制表符。 3. **同时匹配空格和制表符**: - 使用 `\s` 匹配所有空白字符(包括空格和制表符)。 - 如果只想匹配空格和制表符而不包括其他空白字符(如换行符),可以使用 `[ \t]`。 --- ### 示例代码 以下是一些示例代码,展示如何使用正则表达式匹配空格和制表符: ```javascript // 匹配单个空格 const spaceRegex = / /; console.log(spaceRegex.test("Hello World")); // 输出: true console.log(spaceRegex.test("HelloWorld")); // 输出: false // 匹配制表符 \t const tabRegex = /\t/; console.log(tabRegex.test("Hello\tWorld")); // 输出: true console.log(tabRegex.test("Hello World")); // 输出: false // 匹配空格或制表符 const spaceOrTabRegex = /[ \t]/; console.log(spaceOrTabRegex.test("Hello World")); // 输出: true console.log(spaceOrTabRegex.test("Hello\tWorld")); // 输出: true console.log(spaceOrTabRegex.test("HelloWorld")); // 输出: false // 匹配所有空白字符(包括空格、制表符、换行符等) const whitespaceRegex = /\s/; console.log(whitespaceRegex.test("Hello World")); // 输出: true console.log(whitespaceRegex.test("Hello\tWorld")); // 输出: true console.log(whitespaceRegex.test("Hello\nWorld")); // 输出: true console.log(whitespaceRegex.test("HelloWorld")); // 输出: false ``` --- ### 解释 1. **`/ /`**:这是一个简单的正则表达式,用于匹配普通的 ASCII 空格字符。 2. **`/\t/`**:这个正则表达式用于匹配制表符。 3. **`/[ \t]/`**:这个正则表达式用于匹配空格或制表符。方括号 `[]` 定义了一个字符集合,表示匹配其中的任意一个字符。 4. **`/\s/`**:这个正则表达式用于匹配任何空白字符,包括空格、制表符、换行符等。 --- ### 应用场景 - **去除字符串中的多余空格**: ```javascript const str = "Hello World"; const result = str.replace(/\s+/g, ' '); console.log(result); // 输出: "Hello World" ``` - **检查字符串是否包含制表符**: ```javascript const str = "Hello\tWorld"; if (/\t/.test(str)) { console.log("字符串包含制表符"); } else { console.log("字符串不包含制表符"); } ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值