zoukankan      html  css  js  c++  java
  • 去掉字符串两边空格,全角转半角

    TrimToDBCModelBinder.cs

     1 //一定要使用using System.Web.Mvc下的DefaultModelBinder
     2     public class TrimToDBCModelBinder : DefaultModelBinder
     3     {
     4         
     5         public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
     6         {            
     7             object value = base.BindModel(controllerContext, bindingContext);
     8             if(value is string)
     9             {
    10                 string strValue = (string)value;
    11                 string value2 = ToDBC(strValue).Trim();
    12                 return value2;
    13             }
    14             else
    15             {
    16                 return value;
    17             }
    18         }
    19 
    20         /// <summary> 全角转半角的函数(DBC case) </summary>
    21         /// <param name="input">任意字符串</param>
    22         /// <returns>半角字符串</returns>
    23         ///<remarks>
    24         ///全角空格为12288,半角空格为32
    25         ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
    26         ///</remarks>
    27         private static string ToDBC(string input)
    28         {
    29             char[] c = input.ToCharArray();
    30             for (int i = 0; i < c.Length; i++)
    31             {
    32                 if (c[i] == 12288)
    33                 {
    34                     c[i] = (char)32;
    35                     continue;
    36                 }
    37                 if (c[i] > 65280 && c[i] < 65375)
    38                 {
    39                     c[i] = (char)(c[i] - 65248);
    40                 }
    41             }
    42             return new string(c);
    43         }
    44 
    45     }

    然后在mvc项目的global.asax.cs下的Application_Start()加入

    1 ModelBinders.Binders.Add(typeof(string),new TrimToDBCModelBinder());
    2             ModelBinders.Binders.Add(typeof(int), new TrimToDBCModelBinder());
    3             ModelBinders.Binders.Add(typeof(long), new TrimToDBCModelBinder());
    4             ModelBinders.Binders.Add(typeof(double), new TrimToDBCModelBinder());

    这样,就可以对string、int、long、double类型起作用了。

  • 相关阅读:
    Tomcat造成404
    ajax缺少@ResponseBody注解前台404,业务可以运行
    几种常见的Runtime Exception
    SQL注入通俗讲解
    MYSQL数据库导入大数据量sql文件失败的解决方案
    css选择器
    http端口
    基础算法之最大子列求和问题
    基础算法之链表逆序
    Prolog&Epilog
  • 原文地址:https://www.cnblogs.com/dotnetHui/p/8440437.html
Copyright © 2011-2022 走看看