[转载]一些JScript 的用法
1、精确到小数点后两位数字:
tmp:=@Text(@TextToNumber(FDconmoney)*@TextToNumber(FDstamptaxratio));
tmp1:=@If(@Contains(tmp;".");@LeftBack(tmp;".");tmp);
tmp2:=@If(@Contains(tmp;".");@RightBack(tmp;".");"");
tmp2:=@If(@Length(tmp2)=0;"00";@Length(tmp2)=1;tmp2+"0";@Length(tmp2)=2;tmp2;@Left(tmp2;2));
tmp:=tmp1+"."+tmp2;
@If(FDcontype="无固定价格合同";"5";FDconmoney=""|FDstamptaxratio="";"";tmp)
2、B/S开发中限制域的输入类型的几个技巧
几个有简单的方法实现域的内容输入控制的方法
1)让域只能使用英文输入法 在域的样式中填上ime-mode:disabled用户就不能输入中文了
2)在表格的其它附签中加上style="word-break:break-all"就可以防止用户输入过长的英文破坏表格的样式
3)只充许域输入数字的简单方法,在域的onkeyup和onafterpaste事件上加上下面的正则表达式即可
onkeyup="this.value=this.value.replace(/\D/g,')" onafterpaste="this.value=this.value.replace(/\D/g,')"
4)去掉域中输入的所有空格函数
function CheckStr(getStr)
{
var tt=getStr;
var ss=/[\s*$]/g;
var cc=tt.replace(ss,"")
alert(cc)
}
3、判断RTF中的内容是否为数字
function isNumber(val)
{
str="0123456789-";
len=val.length;
i=0;
while(i<len)
{
c=val.charAt(i);
if(str.indexOf(c)==-1) break;
i++;
}
if(i==len) return true;
else return false;
}
在onChange和onKeyUp两个事件中进行检查
4、JS中去掉字符串空格
//去掉字串左边的空格
function lTrim(str)
{
if (str.charAt(0) == " "||str.charAt(0) == " ")
{
//如果字串左边第一个字符为空格
str = str.slice(1);//将空格从字串中去掉
//这一句也可改成 str = str.substring(1, str.length);
str = lTrim(str); //递归调用
}
return str;
}
//去掉字串右边的空格
function rTrim(str)
{
var iLength;
iLength = str.length;
if (str.charAt(iLength - 1) == " "||str.charAt(iLength - 1) == " ")
{
//如果字串右边第一个字符为空格
str = str.slice(0, iLength - 1);//将空格从字串中去掉
//这一句也可改成 str = str.substring(0, iLength - 1);
str = rTrim(str); //递归调用
}
return str;
}
//去掉字串两边的空格
function trim(str)
{
return lTrim(rTrim(str));
}
5、判断RTF是否为空
公式判断:
@Command([EditGotoField];"Body");
@Command([EditSelectAll]);
@If(@IsError(@Command([EditDeselectAll]));@Return(@Prompt([OK];"提示";"BODY域不能为空!"));"");
脚本判断:
Function IsRTFNull(rtfield As String) As Integer
On Error Goto Errhandle
currentfield = uidoc.CurrentField
Call uidoc.GotoField(rtfield)
Call uidoc.SelectAll
Call uidoc.DeselectAll
If currentfield <> "" Then
Call uidoc.GotoField(currentfield)
End If
IsRTFNull = False
Exit Function
Errhandle:
Select Case Err
Case 4407
Call uidoc.GotoField(rtfield)
IsRTFNull = True
Exit Function
Case Else
Error Err
End Select
End Function
tmp:=@Text(@TextToNumber(FDconmoney)*@TextToNumber(FDstamptaxratio));
tmp1:=@If(@Contains(tmp;".");@LeftBack(tmp;".");tmp);
tmp2:=@If(@Contains(tmp;".");@RightBack(tmp;".");"");
tmp2:=@If(@Length(tmp2)=0;"00";@Length(tmp2)=1;tmp2+"0";@Length(tmp2)=2;tmp2;@Left(tmp2;2));
tmp:=tmp1+"."+tmp2;
@If(FDcontype="无固定价格合同";"5";FDconmoney=""|FDstamptaxratio="";"";tmp)
2、B/S开发中限制域的输入类型的几个技巧
几个有简单的方法实现域的内容输入控制的方法
1)让域只能使用英文输入法 在域的样式中填上ime-mode:disabled用户就不能输入中文了
2)在表格的其它附签中加上style="word-break:break-all"就可以防止用户输入过长的英文破坏表格的样式
3)只充许域输入数字的简单方法,在域的onkeyup和onafterpaste事件上加上下面的正则表达式即可
onkeyup="this.value=this.value.replace(/\D/g,')" onafterpaste="this.value=this.value.replace(/\D/g,')"
4)去掉域中输入的所有空格函数
function CheckStr(getStr)
{
var tt=getStr;
var ss=/[\s*$]/g;
var cc=tt.replace(ss,"")
alert(cc)
}
3、判断RTF中的内容是否为数字
function isNumber(val)
{
str="0123456789-";
len=val.length;
i=0;
while(i<len)
{
c=val.charAt(i);
if(str.indexOf(c)==-1) break;
i++;
}
if(i==len) return true;
else return false;
}
在onChange和onKeyUp两个事件中进行检查
4、JS中去掉字符串空格
//去掉字串左边的空格
function lTrim(str)
{
if (str.charAt(0) == " "||str.charAt(0) == " ")
{
//如果字串左边第一个字符为空格
str = str.slice(1);//将空格从字串中去掉
//这一句也可改成 str = str.substring(1, str.length);
str = lTrim(str); //递归调用
}
return str;
}
//去掉字串右边的空格
function rTrim(str)
{
var iLength;
iLength = str.length;
if (str.charAt(iLength - 1) == " "||str.charAt(iLength - 1) == " ")
{
//如果字串右边第一个字符为空格
str = str.slice(0, iLength - 1);//将空格从字串中去掉
//这一句也可改成 str = str.substring(0, iLength - 1);
str = rTrim(str); //递归调用
}
return str;
}
//去掉字串两边的空格
function trim(str)
{
return lTrim(rTrim(str));
}
5、判断RTF是否为空
公式判断:
@Command([EditGotoField];"Body");
@Command([EditSelectAll]);
@If(@IsError(@Command([EditDeselectAll]));@Return(@Prompt([OK];"提示";"BODY域不能为空!"));"");
脚本判断:
Function IsRTFNull(rtfield As String) As Integer
On Error Goto Errhandle
currentfield = uidoc.CurrentField
Call uidoc.GotoField(rtfield)
Call uidoc.SelectAll
Call uidoc.DeselectAll
If currentfield <> "" Then
Call uidoc.GotoField(currentfield)
End If
IsRTFNull = False
Exit Function
Errhandle:
Select Case Err
Case 4407
Call uidoc.GotoField(rtfield)
IsRTFNull = True
Exit Function
Case Else
Error Err
End Select
End Function