四去拾取的有用的东西!不间断的持续更新中......

1.计算字符个数,包括汉字等

      js:

         

<SCRIPT language="JavaScript">
 <!--
 function countCharacters(str){
    var totalCount = 0; 
    for (var i=0; i<str.length; i++) { 
        var c = str.charCodeAt(i); 
    if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { 
           totalCount++; 
        }else {    
            totalCount+=2; 
        } 
    }
  // alert(totalCount);
    return totalCount;
}
//-->
</SCRIPT>

  

      cs中:

      //SimpleContent 这个是需要计算的内容

      System.Text.Encoding.Default.GetBytes(SimpleContent).Length;

 

 

 

2.js字符串截取函数(汉字2,英文1)

    function countCharacters(str,size){
     var totalCount = 0; 
     var newStr = "";
     for (var i=0; i<str.length; i++) { 
         var c = str.charCodeAt(i); 
         if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { 
             totalCount++; 
         }else {    
             totalCount+=2; 
         } 
         if(totalCount<size){
             newStr = str.substring(0,i+1);
         }else{
             return newStr+"...";
         }
     }
     return newStr;
    }

 

 

3.正则表达式,验证数字范围:

     我这里的需求只是:请输入0.01-3000之间的数字,保留两位小数。

     表达式为:(^[0-9]([.][0-9]{1,2})?$)|(^[1-9][0-9]([.][0-9]{1,2})?$)|(^[1-9][0-9][0-9]([.][0-9]{1,2})?$)|(^(1|2)[0-9][0-9][0-9]([.][0-9]{1,2})?$)|(^3000?$)

       如果后面的(3000后面需要小数点的话),应该是:

      (^[0-9]([.][0-9]{1,2})?$)|(^[1-9][0-9]([.][0-9]{1,2})?$)|(^[1-9][0-9][0-9]([.][0-9]{1,2})?$)|(^(1|2)[0-9][0-9][0-9]([.][0-9]{1,2})?$)|(^3000([.]0{1,2})?$)

 

4.给字符串数组排序:

public string[] SortStringArray(string[] stsArray)
  {
  string stBase = String.Empty;
  for (int i = 0; i < stsArray.Length; i++)
  {
  for (int j = i+1; j < stsArray.Length; j++)
  {
  if(stsArray[i].Length > stsArray[j].Length)
  {
  stBase = stsArray[i];
  stsArray[i] = stsArray[j];
  stsArray[j] = stBase;
  }
  if (stsArray[i].CompareTo(stsArray[j]) > 0 && stsArray[i].Length == stsArray[j].Length)
  {
  stBase = stsArray[i];
  stsArray[i] = stsArray[j];
  stsArray[j] = stBase;
  }

  }
  }
  return stsArray;
  }

 

5.最近要替换URL参数,找到几个不错的方法

String.prototype.changeQuery = function(name,value)
 {
  var reg = new RegExp("(^|)"+ name +"=([^&]*)(|$)");
  var tmp = name + "=" + value;
  if(this.match(reg) != null)
  {
   return this.replace(eval(reg),tmp);
  }
  else
  {
   if(this.match("[\?]"))
   {
    return this + "&" + tmp;
   }
   else
   {
    return this + "?" + tmp;
   }
  }
 }

 使用方法:

           var href = http://dlib.apabi.com/?Token=44AB&cult=CN&orgid=pku;

            href = href.changeQuery("cult","US);

原地址:http://hi.baidu.com/rayshow/blog/item/05d8a4d3b3f181d6a9ec9a8d.html

function RegularUrl(url,key,value)
{
    var fragPos = url.lastIndexOf("#");
    var fragment="";
    if(fragPos > -1)
    {
        fragment = url.substring(fragPos);
        url = url.substring(0,fragPos);
    }
    var querystart = url.indexOf("?");
    if(querystart < 0  )
    {
        url +="?"+key+"="+value;
    }
    else    if (querystart==url.length-1)
    {
        url +=key+"="+value;
    }
    else
    {
        var Re = new RegExp(key+"=[^\\s&#]*","gi");
        if (Re.test(url))
        url=url.replace(Re,key+"="+value);
        else
        url += "&"+key+"="+value;
    }
    return url+fragment;
}

原地址:http://www.cnblogs.com/Heroman/archive/2009/03/11/860977.html

 //替换指定传入参数的值
function replaceParamVal(paramName,replaceWith) {
 var oUrl = this.location.href.toString();
 var re=eval('/('+ paramName+'=)([^&]*)/gi');
 
 var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
  this.location = nUrl;
}

这个找到的地方比较多:http://blog.csdn.net/s1ihome/article/details/883881

 

6.此工作站和主域间的信任关系失败

突然遇到一个这样的问题,查了下,有不少解决方案:http://hi.baidu.com/mr1311/blog/item/0c5ac2225a3710aa4623e8bc.html

     很明显是由于这台计算机在域中的账号失效了,只需重新加入到域就行了。首先保证DC能够正常工作,然后打开该计算机的“系统属性”对话框,并切换至“计算机名”选项卡。单击“更改”按钮,在“计算机名称更改”对话框中选中“域”单选框,并在“域”编辑框中键入域名。单击“确定”按钮,这时会弹出一个“计算机名更改”对话框,要求输入有权限加入域的用户名和密码。需要注意的是,这里的“用户名”编辑框应该输入域控制器的管理员账户,并输入合法的密码。通过验证以后会弹出提示已经加入域。(本人是加入域失败情况下加入工作组的,结果重启就OK了!)

 

7.将DataView转换成DataTable

       在vs2005中,这个比较容易,DataTable dt1 = ds.Tables[1];DataView dv1 = dt1.DefaultView;  dt1 = dv1.ToTable();  主要就是dv1.ToTable(); 这里,但是在vs2003中,这个就比较的麻烦:

          dv是排序后的,也可以在次方法中操作,这样得到的DataTable就是排序后的...........

public static DataTable GetWiew(DataView dv,DataTable dt)
  {
   DataTable dNew = dt.Clone();
   int idx = 0;
   string[] strColNames = new string[dNew.Columns.Count];
   foreach (DataColumn col in dNew.Columns)
   {
    strColNames[idx++] = col.ColumnName;
   }
   IEnumerator viewEnumerator = dv.GetEnumerator();
   while (viewEnumerator.MoveNext())
   {
    DataRowView drv = (DataRowView)viewEnumerator.Current;
    DataRow dr = dNew.NewRow();
    try
    {
     foreach (string strName in strColNames)
     {
      dr[strName] = drv[strName];
     }
    }
    catch (Exception ex)
    {
     Console.WriteLine(ex.Message);
    }
    dNew.Rows.Add(dr);
   }
   return dNew;

  }

 

8.SQL判断数据是否存在

--判断表中是否存在该字段
if not exists(select * from syscolumns where id=object_id('WF_DEF_STEP_TBL') and name='ISRamus')
alter table WF_DEF_STEP_TBL
add ISRamus int not null default(0)
go

--判断表中是否存在该表
if   exists(select   name   from   sysobjects   where   name= 'operLog_TB '   and   type= 'U ')
drop table operLog_TB

create table  operLog_TB(
    id int identity(1,1),
    operator varchar(20) ,
    opertype varchar(20),
    remark varchar(50),
    ttime datetime

go

--判断表中是否存在该条记录
if not exists(select * from wf_type_tbl where type_name='工程结算调整')
begin
declare @type_id int;
select @type_id=(max(type_id)+1) from wf_type_tbl
insert into  wf_type_tbl(type_id,type_name,type_desc,is_show) values(@type_id,'工程结算调整','工程结算调整',1)
end
go

9.待续......

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值