`
阅读更多
关键字: 配匹中文及全角符号  (此文转帖)
[\\u0391-\\uFFE5]匹配双字节字符(汉字+符号)

[\\u4e00-\\u9fa5]注意只匹配汉字,不匹配双字节字符


比如[\\u4e00-\\u9fa5]只匹配我们看到的汉字,不匹配全角状态下输入的符号!? []等等

[\\u0391-\\uFFE5]就匹配双字节字符

汉字就是双字节字符,全角符号也是双字节字符


用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

5.javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:

String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}

利用正则表达式分解和转换IP地址:

6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("不是一个正确的IP地址!")
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。


匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\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{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字

匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\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个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?


^\d+$  //匹配非负整数(正整数 + 0) 
^[0-9]*[1-9][0-9]*$  //匹配正整数 
^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0) 
^-[0-9]*[1-9][0-9]*$  //匹配负整数 
^-?\d+$    //匹配整数 
^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0) 
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数 
^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0) 
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数 
^(-?\d+)(\.\d+)?$  //匹配浮点数 
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串 
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串 
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串 
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串 
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串 
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$   
分享到:
评论

相关推荐

    一般得正则表达式(包括整型 匹配非负整数、匹配正整数、匹配空行的正则表达式、 匹配双字节字符)

    4. **匹配双字节字符** 双字节字符主要出现在Unicode编码中,特别是处理中文、日文、韩文等多字节字符集时。在JavaScript等语言中,可以使用正则表达式来匹配这些字符。例如: `\u0080-\uFFFF` 这个范围涵盖了基本...

    收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)

    2. 匹配双字节字符:这通常指的是所有Unicode字符,因为Unicode是一种双字节字符集,能够表示几乎所有国家的文字。正则表达式[^\x00-\xff]可以匹配非ASCII字符,它排除了0x00到0xff范围内的ASCII字符,从而包含了...

    Javascript将双字节字符转换成单字节字符并计算长度

    在本篇文章中,我们将探讨如何使用JavaScript将双字节字符转换为单字节字符,并计算转换后字符串的长度。这在处理数据库存储、URL编码、API请求等场景中非常有用,尤其是在对字符串长度有严格限制的情况下。 ### 双...

    匹配中文汉字的正则表达式介绍

    或许你也需要匹配双字节字符,中文也是双字节的字符 代码如下: 匹配双字节字符(包括汉字在内):[^\x00-\xff] 注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) PS:关于正则,本站还提供了2款...

    正则表达式 模式匹配 Javascript

    2. **匹配双字节字符(包括汉字)**: `[^\x00-\xff]` 该表达式用于匹配非ASCII字符,通常表示双字节字符,例如中文、日文、韩文等。 3. **计算字符串长度**: 使用`String.prototype.len`函数,通过替换非ASCII...

    常用Javascript正则表达式汇总

    2. **匹配双字节字符**:`[^\x00-\xff]` 双字节字符通常指非ASCII字符,如汉字、日文、韩文等。这个表达式用来匹配除了ASCII字符之外的所有字符,即双字节字符。你可以用它来计算字符串中非ASCII字符的数量,从而...

    js获取字符串字节数方法小结

    文章给出的代码示例通过正则表达式来判断字符是否为双字节(包括中文字符),如果是,则该字符占用的字节数计为2;否则,计为1。这里使用的正则表达式是:/^[\u0000-\u00ff]$/.test(c),这个表达式可以匹配ASCII字符...

    Javascript 汉字字节判断

    ### JavaScript 汉字字节判断 在进行用户输入验证时,经常需要判断字符串的长度,尤其是当输入可能包含汉字时。由于JavaScript默认将每个字符(包括汉字)都视为一个单位,这可能导致实际长度与预期不符。例如,在...

    一句话jquery 取中文字节数

    例如,在UTF-8编码中,可以使用正则表达式来匹配非ASCII字符,并将其替换为特定的字符串(如题目中的"aa"),然后计算替换后的字符串长度即可得到中文字符的字节数。 ### 三、示例代码分析 #### 3.1 原始代码解析 ...

    JS判断字符串字节数并截取长度的方法

    本文详细介绍了如何利用JavaScript来判断字符串的字节数,并根据字节长度进行字符串的截取操作。这包括了判断字符串中的字节数和字符数、限制输入长度、以及如何在JavaScript中动态地处理HTML页面元素的值。接下来,...

    Javascript 字符串字节长度计算函数代码与效率分析(for VS 正则)

    本文主要介绍了在JavaScript中如何编写函数来计算字符串的字节长度,并且对于采用不同方法计算时的效率进行了对比分析。英文字符在大多数编码格式下占用一个字节,而中文字符通常占用两个字节,这一点在计算字节长度...

    超级实用且不花哨的js代码大全.html

    匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/&lt;(.*)&gt;.*|&lt;(.*) \/&gt;/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数) 匹配...

    JavaScript_一个超级小的Javascript自动完成自动建议库零依赖800字节的mingzip.zip

    标题中的“零依赖800字节的mingzip.zip”可能指的是一个极小型的JavaScript库,专门用于实现自动完成和自动建议功能,而且它的压缩后大小仅为800字节,这在JavaScript库中是非常轻量级的。通常,这样的库可能会利用...

    JavaScript验证正则表达式

    2. **匹配双字节字符**:`[^x00-xff]` - 双字节字符通常指非ASCII字符,包括汉字和其他多字节编码的字符。此表达式可以用来计算字符串中双字节字符的数量。 3. **匹配空白行**:`\n\s*\r` - 这个正则可以匹配并删除...

    js限制输入框可输入字节数代码

    实现的函数`len`通过遍历字符串,并检查每个字符是否为全角字符(通过正则表达式匹配非`\x00-\xff`区间的字符),来计算字符串的实际字节长度。 ```javascript var len = function(s) { s = String(s); return s....

    常用正则表达式(包括中文匹配)

    - **用途**:匹配非ASCII范围内的双字节字符,通常用于识别中文等其他非英文字符。 - **应用场景**:文本分析、数据清洗等。 ##### 3. 获取字符串长度(考虑中文字符) - **JavaScript代码**: ```javascript ...

Global site tag (gtag.js) - Google Analytics