精华内容
下载资源
问答
  • 对于一些更安全的容错严重,需要用到
  • vb 汉字全角字符点阵提取源码 你看到的文件来自:E动天下(http:/www.2e3.org)
  • 本框值的length取出的是字符个数,并不是字节长度,如果含有中文或者全角字符,一个字符是2个字节,下面与大家分享下具体的判断方法,感兴趣的朋友可以参考下哈
  • 全角字符的检查

    2013-11-27 20:05:16
    如何判断你在C语言程序中是否输入的是汉字
  • 中文字符,全角字符的正则表达式

    千次阅读 2020-06-30 20:35:55
    经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常...匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符

    经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常好用推荐一下
    关键字:正则表达式 模式匹配 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  中文
    
    1. UTF-8 (Unicode)
    \u4e00-\u9fa5 (中文)
    \x3130-\x318F (韩文
    \xAC00-\xD7A3 (韩文)
    \u0800-\u4e00 (日文)
    

    ps: 韩文是大于[\u9fa5]的字符

    展开全文
  • 最近由于单位提了一个需求,要判断提供的用户名称里不有全角字符,至少有两个汉字。找了半天,想通过正则表达式来解决,但测试了好久才发现,oracle的正则函数REGEXP_LIKE 不支持“\un匹配 n,其中 n 是以四位十六...

    最近由于单位提了一个需求,要判断提供的用户名称里不有全角字符,至少有两个汉字。找了半天,想通过正则表达式来解决,但测试了好久才发现,oracle的正则函数REGEXP_LIKE 不支持“\un匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符”的判断,例如,

    最近由于单位提了一个需求,要判断提供的用户名称里不有全角字符,至少有两个汉字。找了半天,想通过正则表达式来解决,但测试了好久才发现,oracle的正则函数REGEXP_LIKE 不支持“\un 匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符”的判断,例如,\u00A9 匹配版权符号 (?),而标准的正则是可以支持的,所以这个办法行不通,只能过期其他办法来实现。

    在网上找了半天,都没有确切的实现办法,有通过Length()和lengthb ()来判断,但不完美,所以就把自己的写法记录下来希望能有用处。

    对于全角字符,ascii值的范围是\uFF00-\uFFFF,都是FF段的,所以可以通过转换成ascii 来判断,instr(asciistr(replace( '在《<23\', '\')),'\FF',1,1) > 0 就可以实现

    对于汉字,范围太大,只能通过函数来完成,于是写了如下函数:

    create or replace function get_chinese(v_name in varchar2) return integer is

    i       int;

    v_count integer;

    v_code  varchar2(10);

    begin

    v_count := 0;

    /**

    作者:背包去流浪

    QQ:380140243

    用途:   返回字符串中汉字的个数

    原理说明:  因为汉字的ASCII码值在4E00和9FA5之间,所以,可以将字符串转为ASCII后,判断连续的5位是否在这个范围,

    是则为汉字,否则为其他字符。

    返回值:    汉字个数

    异常返回:  -1

    */

    for i in 1 .. lengthb(asciistr(v_name)) - 4 loop

    --if substr(asciistr(v_name),i,1)='\' then --有\则判断是否汉字

    v_code := substr(asciistr(v_name), i, 5);

    IF V_CODE BETWEEN '\4E00' AND '\9FA5' THEN

    --汉字的asciid码值范围

    v_count := v_count + 1; --有一个汉字

    end if;

    -- dbms_output.put_line(v_code);

    -- end if;

    end loop;

    return v_count;

    exception

    when others then

    return - 1; --异常返回-1

    end get_chinese;

    查询结果:

    test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20140305131916406%3Fwatermark%2F2%2Ftext%2FaHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl6aGlqdW45MTE%3D%2Ffont%2F5a6L5L2T%2Ffontsize%2F400%2Ffill%2FI0JBQkFCMA%3D%3D%2Fdissolve%2F70%2Fgravity%2FCenter&refer=http%3A%2F%2Fblog.csdn.net%2Flizhijun911%2Farticle%2Fdetails%2F20538747

    展开全文
  • 主要介绍了javascript实现全角与半角字符的转换的相关代码与知识点分享,需要的朋友可以参考下
  • 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。 半角–指一字符占用一个标准的字符位置。 通常的...

    1. 什么是全角和半角?

    • 全角–指一个字符占用两个标准字符位置。
      汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。

    • 半角–指一字符占用一个标准的字符位置。
      通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。

    2. 全角与半角各在什么情况下使用?

    • 全角占两个字节,半角占一个字节。

    • 半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。
      在编程序的源代码中只能使用半角标点(不包括字符串内部的数据)
      在不支持汉字等语言的计算机上只能使用半角标点(其实这种情况根本就不存在半角全角的概念)

    • 对于大多数字体来说,全角看起来比半角大,当然这不是本质区别了。

    3. 全角和半角的区别

    • 全角就是字母和数字等与汉字占等宽位置的字。半角就是ASCII方式的字符,在没有汉字输入法起做用的时候输入的字母数字和字符都是半角的。

    • 在汉字输入法出现的时候,输入的字母数字默认为半角,但是标点则是默认为全角,可以通过鼠标点击输入法工具条上的相应按钮来改变。

    4. 关于“全角”和“半角”:

    • 全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。
    • 半角:是指英文件ASCII码中的各种符号。
    展开全文
  • 全角字符和半角字符

    千次阅读 2017-10-11 09:29:21
    2017/10/11 工作任务:将其中所有的全角字符按GBK编码计算长度,半角字符不做改动 一.全角字符和半角字符 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为”半角”,相对地...

    2017/10/11 工作任务:将其中所有的全角字符按GBK编码计算长度,半角字符不做改动
    一.全角字符和半角字符
    在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为”半角”,相对地把一个汉字所占的位置称为”全角”。在汉字输入时,系统提供”半角”和”全角”两种不同的输入状态,但是对于英文字母、符号和数字这些通用字符就不同于汉字,在半角状态它们被作为英文字符处理;而在全角状态,它们又可作为中文字符处理。半角和全角切换方法:单击输入法工具条上的按钮或按键盘上的Shift+Space键来切换。
    1、全角:指一个字符占用两个标准字符位置。
    汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。
    2、半角:指一字符占用一个标准的字符位置。
    通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。
    3、全角与半角各在什么情况下使用?
    全角占两个字节,半角占一个字节。
    半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。
    在编程序的源代码中只能使用半角标点(不包括字符串内部的数据)
    在不支持汉字等语言的计算机上只能使用半角标点(其实这种情况根本就不存在半角全角的概念)
    对于大多数字体来说,全角看起来比半角大,当然这不是本质区别了。
    4、全角和半角的区别
    全角就是字母和数字等与汉字占等宽位置的字。半角就是ASCII方式的字符,在没有汉字输入法起做用的时候输入的字母数字和字符都是半角的。
    在汉字输入法出现的时候,输入的字母数字默认为半角,但是标点则是默认为全角,可以通过鼠标点击输入法工具条上的相应按钮来改变。
    5、关于“全角”和“半角”:
    全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。
    半角:是指英文件ASCII码中的各种符号。
    全角状态下字母、数字符号等都会占两个字节的位置,也就是一个汉字那么宽,半角状态下,字母数字符号一般会占一个字节,也就是半个汉字的位置,全角半角对汉字没有影响。
    二:判断全角字符和半角字符
    说了那么多,我们就看下在java编程语言中如何来判断字符串中的全角半角符号。
    有两种方式可以判断:
    1:通过正则表达式来进行判断 [^\x00-\xff]
    2: 通过字符编码的范围进行判断.
    有关字符编码的范围介绍如下:
    我们可以编写一个测试用例输出所有的字符编码。
    public static void main(String[] args) {
    for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {
    System.out.println(i + ” ” + (char)i);
    }
    }
    测试结果如下:(截取部分图)

    经过测试发现:
    1.半角字符是从33开始到126结束
    2.与半角字符对应的全角字符是从65281开始到65374结束
    3.其中半角的空格是32.对应的全角空格是12288
    半角和全角的关系很明显,除空格外的字符偏移量是65248(65281-33 = 65248)

    // 测试用例1———-使用正则表达式
    // 纯半角,包含有数字,字母,特殊符号,空格,汉字
    String test1 = “0123456789abcde!@#$%^& 幽雨”;
    char[] chars_test1 = test1.toCharArray();
    for (int i = 0; i < chars_test1.length; i++) {
    String temp = String.valueOf(chars_test1[i]);
    // 判断是全角字符
    if (temp.matches(“[^\x00-\xff]”)) {
    System.out.println(“全角 ” + temp);
    }
    // 判断是半角字符
    else {
    System.out.println(“半角 ” + temp);
    }
    }

    综上,部分内容摘自博客

    **今天工作任务完成!**
    
    展开全文
  • 该扩展名通过在半角和全角字符之间插入空格来格式化文档。 例如,文字 今日は2017年8月11日(金),快晴です。 格式如下: 今日は2017年8月11日(金),快晴です。 用法 打开要格式化的文档。 按Ctrl+Shift+I格式...
  • 遇到个问题,需要检测输入框中的字符长度,如果是汉字,算作2个字节。。。 然后我就在想,我怎么去识别他是不是汉字呢???首先想到的可能就是 js 的 charCodeAt 方法, ASCII 码,然后就疑惑,那么怎么把汉字和 ...
  • 正则js判断是否存在中文全角字符 var str = ... String.prototype.isChinese = function () { var reg = /[^\x00-\xff]/ig;//判断是否存在中文全角字符 // var reg=/[A-Za-z]*[a-z0-9_-]|\s$/;//判断是否包含...
  • 先拿空格来说: public class Test { private String regex = "^[//u0020//u3000]*$"; public boolean panduan...所以一个字符完全可以容纳一个汉字,使用charAt(int i)返回的是字符而不是字节。字符串是字符的集合。
  • 内容索引:VB源码,字符处理,全角,点阵 VB编写完成一个汉字全角字符点阵提取程序,附上源代码,仅供研究参考。程序有效地利用一个API函数Shell_NotifyIcon和NOTIFYICONDATA数据结构就能达到这一目的,这个程序运行...
  • 全角字符半角字符区别

    千次阅读 2018-03-08 14:05:33
    汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。 (2)半角--指一字符占用一个标准的字符位置。 通常...
  • 全角字符和半角字符的区别

    千次阅读 2021-02-12 09:27:35
    全角字符的由来# 全角符号是双字节中文编码的历史遗留问题。当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母、数字和标点也占用一个汉字的视觉空间,并使用 2 个字节存储。后来,其中的一些...
  • java 判断字符和字符串是否为全角字符 一般这个判断在对未知字符串进行字符转码的时候要用到. // 判断字符串是否为全角 String input = &quot;dd&quot;; System.out.println(input.matches(&quot...
  • 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。半角字符是指一字符占用一个标准的字符位置,通常的...
  • /*** 字符串半角和全角间相互转换* @param string $str 待转换的字符串* @param int $type TODBC:转换为半角;TOSBC,转换为全角* @return string 返回转换后的字符串*/function convertStrType($str, $type) {$dbc ...
  • * 全角转半角 * @author hung * */ public class MyQB { /** * @param args */ public static void main(String[] args) { String qs = "1 2 3·4657890...
  • MySQL存全角字符和半角字符的区别

    千次阅读 2017-01-16 18:12:58
    这个时候你就要考虑一个代码中类型的长度和数据库字段长度匹配的问题了,比如全角字符或者中文字符。数据库中的char(20)代表的是20个字符,而不是20个字节,这里要注意,所以取数据的时候千万不要全部使用这个20来做...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,497
精华内容 10,998
关键字:

中文全角字符