您的位置:首页 > 其它

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

2011-03-21 15:31 453 查看
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;

}

这个找到的地方比较多:/article/10799485.html

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.[b]待续......[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: