正则表达式匹配中⽂及符号、英⽂及符号数字空格换⾏符及常
⽤正则表达式
今天在做⼀个输⼊框的内容,要求只能输⼊英⽂及英⽂符号,这才去查了资料了解了⼀下正则表达式的匹配规则,发现还是有点难度的,这才对常⽤的正则表达式来进⾏总结⼀下:1.匹配英⽂和数字及英⽂状态下的符号:
2.匹配中⽂(发现中⽂匹配要⽐英⽂难)
js中文正则表达式3.常⽤的正则表达式总结:
匹配符号:
2E80~33FFh:中⽇韩符号区。收容康熙字典部⾸、中⽇韩辅助部⾸、注⾳符号、⽇本假名、韩⽂⾳符,中⽇韩的符号、标点、带圈或带括符⽂数字、⽉份,以及⽇本的假名组合、单位、年号、⽉份、⽇期、时间等。
3400~4DFFh:中⽇韩认同表意⽂字扩充A区,总计收容6,582个中⽇韩汉字。
4E00~9FFFh:中⽇韩认同表意⽂字区,总计收容20,902个中⽇韩汉字。
A000~A4FFh:彝族⽂字区,收容中国南⽅彝族⽂字和字根。
AC00~D7FFh:韩⽂拼⾳组合字区,收容以韩⽂⾳符拼成的⽂字。
F900~FAFFh:中⽇韩兼容表意⽂字区,总计收容302个中⽇韩汉字。
FB00~FFFDh:⽂字表现形式区,收容组合拉丁⽂字、希伯来⽂、阿拉伯⽂、中⽇韩直式标点、⼩符号、半⾓符号、全⾓符号等。
⽐如需要匹配所有中⽇韩⾮符号字符,那么正则表达式应该是^[/u3400-/u9FFF]+$
理论上没错, 可是我到ko随便复制了个韩⽂下来, 发现根本不对, 诡异
再到jp复制了个'お', 也不得⾏..
然后把范围扩⼤到^[/u2E80-/u9FFF]+$, 这样倒是都通过了, 这个应该就是匹配中⽇韩⽂字的正则表达式了, 包括我們臺灣省還在盲⽬使⽤的繁體中⽂
⽽关于中⽂的正则表达式, 应该是^[/u4E00-/u9FFF]+$, 和论坛⾥常被⼈提起的^[/u4E00-/u9FA5]+$很接近
需要注意的是论坛⾥说的^[/u4E00-/u9FA5]+$这是专门⽤于匹配简体中⽂的正则表达式, 实际上繁体字也在⾥⾯, 我⽤器测试了下'中華⼈民共和國', 也通过了, 当然, ^[/u4E00-/u9FFF]+$也是⼀样的结果
//正则匹配将nbsp;替换为空字符串将<br>替换为回车键
var place(/ /ig, " ");
var place(/<br\/>/g, "\n");
//循环匹配表情符号,将span标签去除,取出原始表情代码
var htm = place(/<span\s*[^>]*>(.*?)<\/span>/g,function($1,$2){
console.log($1);//$1表⽰的是取出的span标签字符串
console.log($2);
var el = ateElement( 'div' );//由于字符串⽆法取出对应span标签的属性值,所以这⾥要进⾏字符串的解析操作el.innerHTML = $1;
var ElementsByTagName("span")[0].title;
$1.replace($1,imgVal);//⽤表情代码来替换span标签字符串
return $1.replace($1,imgVal);
});
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论