`
469957559
  • 浏览: 39027 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

中文字符,全角字符的正则表达式

    博客分类:
  • js
 
阅读更多

经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常好用推荐一下

两外推荐个网址http://mscenter.edu.cn/blog/yongsheng/archive/2004/11/19/308.html

这个家伙收录的正则很多,呵呵

关键字:正则表达式  模式匹配 Javascript

摘要:收集一些常用的正则表达式。

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。

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

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

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

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

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

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

 

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

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

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

下面是利用正则表达式匹配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("Not a valid IP address!")
}
}

不过上面的程序如果不用正则表达式,而直接用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))

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

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

利用正则表达式去除字串中重复的字符的算法程序 :[注:此程序不正确,原因见本贴回复]

var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2)  //结果为:abcefgi

我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1

s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)

利用正则表达式限制网页表单里的文本框输入内容:

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

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

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

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

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

判断日文的正则表达式

1. GBK (GB2312/GB18030)
\x00-\xff  GBK双字节编码范围
\x20-\x7f  ASCII
\xa1-\xff  中文
\x80-\xff  中文

2. UTF-8 (Unicode)
\u4e00-\u9fa5 (中文)
\x3130-\x318F (韩文
\xAC00-\xD7A3 (韩文)
\u0800-\u4e00 (日文)
ps: 韩文是大于[\u9fa5]的字符

分享到:
评论

相关推荐

    java正则表达式匹配全角空格

    split函数按照空格拆分,兼容全角空格、半角空格

    正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度

    判断是否存在中文和全角字符 str.match(/[^\x00-\xff]/ig) 判断包含中文字符串长度 aMatch=str.match(/[^\x00-\x80]/g); str.length+(!aMatch?0:aMatch.length) javascript 判断中文字符长度 一种: 代码如下: ...

    Flex正则表达式判断中文或全角字符代码

    本框值的length取出的是字符个数,并不是字节长度,如果含有中文或者全角字符,一个字符是2个字节,下面与大家分享下具体的判断方法,感兴趣的朋友可以参考下哈

    你所需要的web方面的常用正则表达式

    用正则表达式限制只能输入中文,用正则表达式限制只能输入全角字符,用正则表达式限制只能输入数字和英文等等等

    正则表达式(基本包含所有验证的正则)

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

    正则表达式

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...

    java 正则表达式

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

    正则表达式30分钟入门教程

    正则表达式里还有更多的元字符,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字等。 对中文/汉字的特殊处理是由.Net提供的正则表达式引擎支持的,其它...

    数字的正则表达式写法参考书

    一个不错的数字的正则表达式验证的电子参考书。内容预览: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ ...

    JavaScript 去前后全脚半脚空格的正则

    javascript将字符串中的多个空格替换为一个空格的正则实例JS使用正则实现去掉字符串左右空格的方法JS去除空格和换行的正则表达式(推荐)javascript使用正则表达式实现去掉空格之后的字符js去掉首位空格的正则表达式...

    匹配任意字符的正则表达式写法

    for( var link in links){&lt;BR&gt; document.body[removed] += links[link]+” ” } 以上代码起初一切正常,在接下来的测试中发现,如果电驴地址中存在全角字符时就匹配就会失败。遂改用如下写法 代码如

    一串字字符中多个逗号替换为一个 既标准分隔符(正则表达式)

    需求如下: 将一串字符转换为标准的分隔符字符串 如:”,,,,a,svv,ss,,v,,v,,,” 转换后:”a,svv,ss,v,v” js实现代码:多用于后台中,关键词替换,自动将空格,全角逗号,统一替换为半角逗号,并将多个逗号合并 ...

    C#统计txt文本中每个汉字出现次数

    统计文本中每个汉字出现次数,web简单程序。利用正则表达式等

    利用正则表达式(只录入中文,数字,英文)

    只能输入全角字符:&lt;input id=”input2″ type=”text” onkeyup=”value=value.replac(/[^\u4E00-\u9FA5]/g,”)”&gt; 只能输入数字:&lt;input id=”input3″ type=”text” onkeyup=”value=value.replace(/[^...

    风越文件(夹)批量改名器 v2.2

    删除中文字符, 删除英文字符, 删除数字字符, 拼音下划线分隔, 拼音:数字声调, 简体转繁体, 繁体转简体可单独处理文件名,或扩展名可对文件名进行字符串替换可对文件名进行编号排序重命名支持正则表达式

    textpro 6.5及使用教程

    支持正则表达式。处理速度极快。是目前流行最好用的文本编辑器(之一)。内附使用说明及正则表达式手册。 主要功能 1. BIG5(BIG5+)码文件与GBK码文件相互转换 TextPro可以将13083个BIG5码和约21500个BIG5+码汉字与...

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    84、原生JavaScript用正则表达式按字母排序,对每行进行数组排序 85、原生JavaScript字符串反序 86、原生JavaScript用正则表达式清除html代码中的脚本 87、原生JavaScript动态执行JavaScript脚本 88、原生JavaScript...

    php过滤所有的空白字符(空格、全角空格、换行等)

    在php中自带的trim函数只能替换左右两端的空格,感觉在有些情况下不怎么好使,如果要将一个字符串中所有空白字符过滤掉(空格、全角空格、换行等),那么我们可以自己写一个过滤函数。 php学习str_replace函数都知道...

    官方最新发布的Textpro6.5及其教程

    例如有文件“001_001.txt”,“001_002.txt”……,“002_001.txt”,“002_002.txt”……,可以单击“文件|自动合并文件”,对其中的源文件输入正则表达式“(\d+)_(\d+)\.txt”,目标文件名为“\1.txt”,排序...

Global site tag (gtag.js) - Google Analytics