电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 站长之家-> Alexa排名
计算字符串长度(关于日文字符) _vb/vb.net教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

项目要求: 计算一个字符串的长度(对日项目VB.NET)

以前的代码找不到了只能自己写一下了(找到了别人的代码觉得有点麻烦,没用)

String.prototype.isBytes = function() {
 var cArr = this.match(/[^\x00-\xff|\uff61-\uff9f]/ig);
return (cArr==null ? true : false);}
上面这段代码是我在JAVA项目里找的,开始没看明白
朋友老纪这时发给我一段
        public static boolean checkAscii(char ch) {
          // Ascii文字かどうか判断し、返り値とする
          return ch >= 0x0000 && ch <= 0x007f;
        }

        public static boolean checkHANKAKU_KANA(char ch) {
          // 半角カタカナかどうか判断し、返り値とする。
          return 0xff61 <= ch && ch <= 0xff9f;
        }
这时才知道[^\x00-\xff|\uff61-\uff9f]这个正则表达式是匹配英文字符和半角日文之外的字符的
注意里面的这个符号^取反的意思[\x00-\xff|\uff61-\uff9f]里面没有没^就是匹配英文字符和半角日文
加上这个^就是匹配英文字符和半角日文之外的字符
下面这个是我写的VB.NET的方法计算字符串的长度
 Public Function GetStringLength(ByVal data As String) As Integer
        Dim i As Integer = 0
        Dim len As Integer = 0
        Dim cc As String = ""
        Dim charRegex As New Regex("[\x00-\xff|\uff61-\uff9f]")
        For i = 0 To data.Length - 1
            文字の取得を行う
            cc = data.Substring(i, 1)
            If charRegex.IsMatch(cc) Then
                len = len + 1
            Else
                len = len + 2
            End If
        Next i
        Return len
End Function
这样就可以计算出字符串的长度了(有不对的地方请指出)

后来朋友又发给我了一个段代码,如下
Public Function GetByte(ByVal p_s) As Integer
        Dim bySource() As Byte
        Dim byEncoded() As Byte
        Dim destEncoding As Encoding

        文字列をバイト配列に変換
        bySource = Encoding.Unicode.GetBytes(p_s)

        エンコーディングを取得 (シフトJISコードページ)
        destEncoding = destEncoding.GetEncoding("Shift_JIS")

        コードページをUnicodeからシフトJISに変換
        byEncoded = Encoding.Convert(Encoding.Unicode, destEncoding, bySource)

        Return byEncoded.Length

    End Function

Public Function ChkByteLength(ByVal p_strVal As String, ByVal p_strParam As String, ByVal p_nMaxLength As Integer, Optional ByVal p_nMinLength As Integer = 0) As Boolean
        If p_nMinLength > 0 Then
            If GetByte(p_strVal) > p_nMaxLength Or GetByte(p_strVal) < p_nMinLength Then
                m_aMsg.Add(GetLine() & clsMessage.GetMessage("E018", p_strParam, CStr(p_nMinLength), CStr(p_nMaxLength)))
                Return False
            End If
        Else
            If GetByte(p_strVal) > p_nMaxLength Then
                m_aMsg.Add(GetLine() & clsMessage.GetMessage("E009", p_strParam, CStr(p_nMaxLength)))
                Return False
            End If

        End If
        Return True
    End Function
这两个方法没有试,有兴趣的可以试试

http://www.cnblogs.com/lost0/archive/2006/11/29/576040.html


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·vb从零开始编外挂(二)_visualbasic教程
·photoshop基础教程:跟我学调色练习13-浪漫暖色调_photoshop教程
·photoshop基础教程:跟我学调色练习11-过度曝光艺术效果_photoshop教程
·用photoshop为美女打造靓丽烫发效果_photoshop教程
·photoshop简单方法绘光滑可爱的小球炸弹_photoshop教程
·photoshop简单表现大光圈造朦胧背景_photoshop教程
·photoshop打造水城威尼斯水中倩影_photoshop教程
·photoshop把漂亮mm照片变成画像_photoshop教程
·图案填充_autocad教程
·属性的编辑_autocad教程

最新文章
·alexa:戏曲性地调整_alexa排名
·alexa排名的影响因素_alexa排名
·alexa排名全新机制详解_alexa排名
·alexa排名对新闻类网站的参考作用_alexa排名
·提高alexa排名的九个方法_alexa排名
·265步hao123后尘被清空数据,谁来代替alexa排名?_alexa排名
·hao123 alexa排名恢复仅仅是暂时的_alexa排名
·alexa部分国内被清零的数据被调整,hao123重现_alexa排名
·对alexa世界排名作弊方法的分析_alexa排名
·网站alexa排名下降的原因及解决方案_alexa排名


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号