本人收集客户端开发经典javascript方法,望各位补充!
1。字符串替代方法。
function String_Replace(srcString,findString,replaceString){
return String_ReplaceB(srcString, findString, replaceString, 0);
}
function String_ReplaceB(expression, find, replacewith, start) {
var index = expression.indexOf(find, start);
if (index == -1)
return expression;
var findLen = find.length;
var newexp = "";
newexp = expression.substring(0, index)+(replacewith)+(expression.substring(index+findLen));
return String_ReplaceB(newexp, find, replacewith, index+1+findLen);
}
2。取字符串长度方法
function String_GetLength(str){
var i,rt=0;
for(i=0;i<str.length;i++)
{
rt++;
if(str.charCodeAt(i)>256)rt++;
}
return rt;
}
3。求浮点数方法
function getFloat(num)
{
var num = parseFloat(num);
if(isNaN(num))num = 0;
return num;
}
4。求整数方法(用到浮点数取法)
function getInt(num)
{
return parseInt(getFloat(num));
}
5。判断文本域对象是否惟空
function at_checkBlank(obj,caption) {
if(String_Replace(obj.value," ","")=="")
{
obj.select();
alert(caption+"不能为空¡");
obj.focus();
return false;
}
return true;
}
6。两个Select对象(llist,rlist)互相操作
var llist = fmObj.AssignedUser;//左边已经选中项目
var rlist = fmObj.WaitedUser;//右边未被选中的项目
//双击右边select中的项目
function AssignUser() {
if(rlist.selectedIndex < 0 || rlist.selectedIndex > rlist.options.length)return;
var i;
llist.options.length++;
llist.options[llist.options.length-1].value = rlist.options[rlist.selectedIndex].value;
llist.options[llist.options.length-1].text = rlist.options[rlist.selectedIndex].text;
for(i = rlist.selectedIndex; i < rlist.options.length - 1; i ++) {
rlist.options[i].value = rlist.options[i+1].value;
rlist.options[i].text = rlist.options[i+1].text;
}
rlist.length --;
}
//把右边选中的加入左边
function AssignRight_AssignSelected(){
for(var i = rlist.length - 1; i >= 0; i --) {
if(rlist.options[i].selected) {
llist.options.length++;
llist.options[llist.options.length-1].value = rlist.options[i].value;
llist.options[llist.options.length-1].text = rlist.options[i].text;
for(var j = i; j < rlist.options.length - 1; j ++) {
rlist.options[j].value = rlist.options[j+1].value;
rlist.options[j].text = rlist.options[j+1].text;
}
rlist.length --;
}
}
}
//把右边所有加入左边
function AssignRight_AssignAll(){
for(var i = rlist.length - 1; i >= 0; i --) {
llist.options.length++;
llist.options[llist.options.length-1].value = rlist.options[i].value;
llist.options[llist.options.length-1].text = rlist.options[i].text;
for(var j = i; j < rlist.options.length - 1; j ++) {
rlist.options[j].value = rlist.options[j+1].value;
rlist.options[j].text = rlist.options[j+1].text;
}
rlist.length --;
}
}
//左边select项目双击
function DenyUser() {
if(llist.selectedIndex < 0 || llist.selectedIndex > llist.options.length)return;
var i;
rlist.options.length++;
rlist.options[rlist.options.length-1].value = llist.options[llist.selectedIndex].value;
rlist.options[rlist.options.length-1].text = llist.options[llist.selectedIndex].text;
for(i = llist.selectedIndex; i < llist.options.length - 1; i ++) {
llist.options[i].value = llist.options[i+1].value;
llist.options[i].text = llist.options[i+1].text;
}
llist.length --;
}
//把左边选中的项目加入右边
function AssignRight_DenySelected() {
for(var i = llist.length - 1; i >= 0; i --) {
if(llist.options[i].selected) {
rlist.options.length++;
rlist.options[rlist.options.length-1].value = llist.options[i].value;
rlist.options[rlist.options.length-1].text = llist.options[i].text;
for(j = llist.selectedIndex; j < llist.options.length - 1; j ++) {
llist.options[j].value = llist.options[j+1].value;
llist.options[j].text = llist.options[j+1].text;
}
llist.length --;
}
}
}
//左边所有项目加入右边
function AssignRight_DenyAll() {
for(var i = llist.length - 1; i >= 0; i --) {
rlist.options.length++;
rlist.options[rlist.options.length-1].value = llist.options[i].value;
rlist.options[rlist.options.length-1].text = llist.options[i].text;
for(j = i; j < llist.options.length - 1; j ++) {
llist.options[j].value = llist.options[j+1].value;
llist.options[j].text = llist.options[j+1].text;
}
llist.length --;
}
}