C#全角转换成半角并检查建议收藏

新建一个项目quanbanjiao,在此项目下新建一个类Class11usingSystem;2usingSystem.Web;3usingSystem.Text;45name

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

新建一个项目quanbanjiao,在此项目下新建一个类Class1

 1 using System;
 2 using System.Web;
 3 using System.Text;
 4 
 5 namespace quanbanjiao
 6 {
 7     public class Class1
 8     {
 9         /**/
10         /// <summary>
11         /// 判断字符是否英文半角字符或标点
12         /// </summary>
13         /// <remarks>
14         /// 32    空格
15         /// 33-47    标点
16         /// 48-57    0~9
17         /// 58-64    标点
18         /// 65-90    A~Z
19         /// 91-96    标点
20         /// 97-122    a~z
21         /// 123-126  标点
22         /// </remarks>
23         public static bool IsBjChar(char c)
24         {
25             int i = (int)c;
26             return i >= 32 && i <= 126;
27         }
28 
29         /**/
30         /// <summary>
31         /// 判断字符是否全角字符或标点
32         /// </summary>
33         /// <remarks>
34         /// <para>全角字符 - 65248 = 半角字符</para>
35         /// <para>全角空格例外</para>
36         /// </remarks>
37         public static bool IsQjChar(char c)
38         {
39             if (c == '\u3000') return true;
40 
41             int i = (int)c - 65248;
42             if (i < 32) return false;
43             return IsBjChar((char)i);
44         }
45 
46         /* http://www.cnblogs.com/roucheng/ */
47         /// <summary>
48         /// 将字符串中的全角字符转换为半角
49         /// </summary>
50         public static string ToBj(string type,string s)
51         {
52             if (s == null || s.Trim() == string.Empty) return s;
53 
54             StringBuilder sb = new StringBuilder(s.Length);
55             for (int i = 0; i < s.Length; i++)
56             {
57                 if (s[i] == '\u3000')
58                     sb.Append('\u0020');
59                 else if (IsQjChar(s[i]))
60                     sb.Append((char)((int)s[i] - 65248));
61                 else
62                     sb.Append(s[i]);
63             }
64 
65             //如果是int类型的,则只能输入int类型,否则自动设为0
66 
67             if (type.ToLower() == "int")
68             {
69                 try
70                 {
71                     Convert.ToInt32(sb.ToString());
72                 }
73                 catch
74                 {
75                     return "0";
76                 }
77 
78             }
79 
80  
81 
82             //如果是float或double类型的,则只能输入这两种类型,否则自动设为0
83             if (type.ToLower() == "float" || type.ToLower() == "double")
84             {
85                 try
86                 {
87                     Convert.ToDouble(sb.ToString());
88                 }
89                 catch
90                 {
91                     return "0";
92                 }
93             }
94             return sb.ToString();
95         }
96     }
97 }

 

测试的例子:

using System;
using System.Web;
using quanbanjiao;//项目名称为quanbanjiao

namespace quanbanjiao
{
    public partial class WebForm1 : System.Web.UI.Page
    {
// keleyi.com
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = Class1.ToBj("string", TextBox1.Text.Trim());
        }
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python偏函数理解_python中radians函数

    python偏函数理解_python中radians函数什么是偏函数partialpython中提供一种对于函数固定属性的函数偏函数的作用把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数偏函数的语法使用偏函数必须先导入from

    2022年7月31日
    5
  • qq怎样防盗 qq密码如何防盗[通俗易懂]

    qq怎样防盗 qq密码如何防盗[通俗易懂]1.去腾讯申请密码保护,这样如果密码被激活成功教程或自己忘记了还可以利用密码保护功能取回来。2.QQ密码的位数一定要超过8位,而且最好包含数字、字母和特殊符号,否则以现代计算机的超强计算能力,要想暴力激活成功教程你的QQ密码简直是易如反掌。3.不要在QQ中填入真实的年龄、E-mail等敏感消息,更不能告诉任何人,小心行得万年船。4.不要随意运行别人发给你的文件,即便那些看起来很诱人的…

    2022年7月20日
    11
  • Unity AssetBundle

    Unity AssetBundle#AssetBundle作用原理把资源导出成一种叫做AssetBundle的文件,然后打包后可以在Unity程序运行的时候再加载回来用。AssetBundle是采取某一种压缩方式压缩成的资源文件。节省存储空间,控制游戏包的大小,实现游戏的热更新。AssetBundle文件分类AssetBundle文件可以分为两类:序列化文件(serializedfile)和资源文件(resource…

    2022年6月24日
    22
  • ubuntu 20.04中文输入法安装

    ubuntu 20.04中文输入法安装sudoapt-getinstallfcitx-googlepinyin

    2022年9月26日
    0
  • 设置document.cookie的使用[通俗易懂]

    设置document.cookie的使用[通俗易懂]设置cookie每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:document.cookie=”userId=828″;如果要一次存储多个名/值对,可以使用分号加空格(;)隔开,例如:document.cookie=”userId=828;userName=hulk”;在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。

    2022年7月11日
    44
  • unity3d的入门教程_3D网课

    unity3d的入门教程_3D网课参考链接:《Unity3D初级课程之新手入门》文章目录第一课:课程介绍与Unity3D环境搭建一、Unity下载与安装第二课:游戏场景基本操作一、新建项目与新建场景二、基本3D物体的创建三、Scene面板基础操作第三课:游戏场景制作3D模型一、尺寸与方向二、3D模型制作第四课:3D模型美化之材质球一、材质球与贴图二、创建与使用材质球三、shader简介第五课:3D模型重用之预制体一、父子关系二、预制体第六课:基本组件之摄像机一、场景美化第一课:课程介绍与Unity3D环境搭建一、Unity下

    2022年8月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号