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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cmdping命令_cmd ping端口命令

    cmdping命令_cmd ping端口命令标题cmd-ping命令一、ping命令:通过发送Internet控制消息协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机的IP级连接。相应的回响应答消息的接收情况将和往返过程的时间一起显示出来。Ping是用于检测网络连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。如果不带参数,ping将显示帮助。(ping-PacketInternet…

    2022年9月23日
    3
  • ci 框架中defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);

    ci 框架中defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);

    2022年2月8日
    55
  • 浅谈CAS原理_cas算法原理

    浅谈CAS原理_cas算法原理1.背景我们知道,synchronized就是一种独占锁,独占锁是一个悲观锁,会导致其他所有需要锁的线程挂起,等待持有锁的线程释放锁。而另一种更加有效的锁就是乐观锁,CAS就是一种乐观锁2.CAS原理CAS(CompareAndSwap),比较并交换。我们知道,如果我要对一个变量进行操作,可以分为三个步骤读取该变量的值进行一系列的运算得到新的结果将运算的结果保存这儿需要知道CAS中有三个概念:内存地址的值V,旧值(从内存地址读取到的值)A,新值(进行操作后的结果值)。对应上面三

    2022年10月9日
    2
  • C++按位异或运算符

    C++按位异或运算符参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0,1^0=1,0^1=1,1^1=0例如:10100001^00010001=101100000^0=0,0^1=10异或任何数=任何数1^0=1,1^1=01异或任何数-任何数取反 任何数异或自己=把自己置0(1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和

    2022年5月20日
    48
  • W3C标准与规范「建议收藏」

    W3C标准与规范「建议收藏」W3C标准,即一系列标准的集合,他的本质是结构标准语言。就像平时使用的HTML、CSS等都需要遵守这些标准。万维网联盟创建于1994年,是web技术领域最具权威和影响力的国际中立性技术标准机构。它有效促进了web技术相互之间的兼容。就像网页是由三部分组成:结构、表现和行为。那么他对应的标准也分三方面:1.结构化标准语言:HTML。可扩展标记语言(XML):最初设计目的是弥补HTML的不

    2022年9月17日
    3
  • java.lang.NullPointerException出现的几种原因以及解决

    java.lang.NullPointerException出现的几种原因以及解决java.lang.NullPointerException出现的几种原因:1、字符串变量未初始化2、接口类型的对象没有用具体的类初始化,比如:Mapmap//会报错Mapmap=newMap();//则不会报错了3、当一个对象的值为空时,你没有判断为空的情况。4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常Stringstr…

    2022年5月20日
    43

发表回复

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

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