JavaScript通用库

Cheat Engine 6.1英文原版安装汉化与使用问题排查指南 内存扫描与修改是逆向工程和游戏调试中的基础技术,其核心原理在于通过读写目标进程地址空间来定位和变更数据。作为经典调试工具,Cheat Engine 凭借轻量、稳定的特点,成为学习内存分析的首选。掌握英文原版的安装与汉化资源使用,不仅能规避捆绑风险,还能深入理解工具目录结构与语言包机制。在单机游戏数值修改、程序逆向学习和日常调试中,CE 6.1依然具有实用价值。本文围绕Cheat Engine 6.1英文原版,讲解汉化补丁的选型、安装步骤、回滚方案及附加失败、扫描异常等经典故障排查方法,帮助用户将这款老版本工 阅读详情

JavaScript在WEB编程中能起到很大的作用,将一些常用的功能写成JavaScript类库。

将下面代码保存为Common.js

类库功能:

1.Trim(str)--去除字符串两边的空格

2.XMLEncode(str)--对字符串进行XML编码

3.ShowLabel(str,str)--鼠标提示功能(显示字符,提示字符)

可以设置显示的提示的文字的字体、颜色、大小以及提示的背景颜色、边框等

4.IsEmpty(obj)--验证输入框是否为空

5.IsInt(objStr,sign,zero)--验证是否为整数,正整数,负整数,以及是否包括零

6.IsFloat(objStr,sign,zero)--验证是否为浮点数,正浮点,负浮点,以及是否包括零

7.IsEnLetter(objStr,size)--验证是否为26个字母,大写小

 

源代码如下:

/*

       名字:Common.js

       功能:通用JavaScript脚本函数库

       包括:

                     1.Trim(str)--去除字符串两边的空格

                     2.XMLEncode(str)--对字符串进行XML编码

            3.ShowLabel(str,str)--鼠标提示功能(显示字符,提示字符)

                     4.IsEmpty(obj)--验证输入框是否为空

                     5.IsInt(objStr,sign,zero)--验证是否为整数

                     6.IsFloat(objStr,sign,zero)--验证是否为浮点数

                     7.IsEnLetter(objStr,size)--验证是否为26个字母

 

    作者:申旺

    日期:2004/04/14

*/

 

/*

==================================================================

字符串操作

Trim(string):去除字符串两边的空格

==================================================================

*/

 

/*

==================================================================

LTrim(string):去除左边的空格

==================================================================

*/

function LTrim(str)

{

    var whitespace = new String(" /t/n/r");

    var s = new String(str);

   

    if (whitespace.indexOf(s.charAt(0)) != -1)

    {

        var j=0, i = s.length;

        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)

        {

            j++;

        }

        s = s.substring(j, i);

    }

    return s;

}

 

/*

==================================================================

RTrim(string):去除右边的空格

==================================================================

*/

function RTrim(str)

{

    var whitespace = new String(" /t/n/r");

    var s = new String(str);

 

    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)

    {

        var i = s.length - 1;

        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)

        {

            i--;

        }

        s = s.substring(0, i+1);

    }

    return s;

}

 

/*

==================================================================

Trim(string):去除前后空格

==================================================================

*/

function Trim(str)

{

    return RTrim(LTrim(str));

}

 

 

 

/*

================================================================================

XMLEncode(string):对字符串进行XML编码

================================================================================

*/

function XMLEncode(str)

{

       str=Trim(str);

       str=str.replace("&","&amp;");

       str=str.replace("<","&lt;");

       str=str.replace(">","&gt;");

       str=str.replace("'","&apos;");

       str=str.replace("/"","&quot;");

       return str;

}

 

/*

================================================================================

验证类函数

================================================================================

*/

 

function IsEmpty(obj)

{

    obj=document.getElementsByName(obj).item(0);

    if(Trim(obj.value)=="")

    {

        alert("字段不能为空。");       

        if(obj.disabled==false && obj.readOnly==false)

        {

            obj.focus();

        }

    }

}

 

/*

IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)

功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0

*/

function IsInt(objStr,sign,zero)

{

    var reg;   

    var bolzero;   

   

    if(Trim(objStr)=="")

    {

        return false;

    }

    else

    {

        objStr=objStr.toString();

    }   

   

    if((sign==null)||(Trim(sign)==""))

    {

        sign="+-";

    }

   

    if((zero==null)||(Trim(zero)==""))

    {

        bolzero=false;

    }

    else

    {

        zero=zero.toString();

        if(zero=="0")

        {

            bolzero=true;

        }

        else

        {

            alert("检查是否包含0参数,只可为(空、0)");

        }

    }

   

    switch(sign)

    {

        case "+-":

            //整数

            reg=/(^-?|^/+?)/d+$/;           

            break;

        case "+":

            if(!bolzero)          

            {

                //正整数

                reg=/^/+?[0-9]*[1-9][0-9]*$/;

            }

            else

            {

                //正整数+0

                //reg=/^/+?/d+$/;

                reg=/^/+?[0-9]*[0-9][0-9]*$/;

            }

            break;

        case "-":

            if(!bolzero)

            {

                //负整数

                reg=/^-[0-9]*[1-9][0-9]*$/;

            }

            else

            {

                //负整数+0

                //reg=/^-/d+$/;

                reg=/^-[0-9]*[0-9][0-9]*$/;

            }            

            break;

        default:

            alert("检查符号参数,只可为(空、+、-)");

            return false;

            break;

    }

   

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {       

        return true;    

    }

}

 

/*

IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)

功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0

*/

function IsFloat(objStr,sign,zero)

{

    var reg;   

    var bolzero;   

   

    if(Trim(objStr)=="")

    {

        return false;

    }

    else

    {

        objStr=objStr.toString();

    }   

   

    if((sign==null)||(Trim(sign)==""))

    {

        sign="+-";

    }

   

    if((zero==null)||(Trim(zero)==""))

    {

        bolzero=false;

    }

    else

    {

        zero=zero.toString();

        if(zero=="0")

        {

            bolzero=true;

        }

        else

        {

            alert("检查是否包含0参数,只可为(空、0)");

        }

    }

   

    switch(sign)

    {

        case "+-":

            //浮点数

            reg=/^((-?|/+?)/d+)(/./d+)?$/;

            break;

        case "+":

            if(!bolzero)          

            {

                //正浮点数

                reg=/^/+?(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

            }

            else

            {

                //正浮点数+0

                reg=/^/+?/d+(/./d+)?$/;

            }

            break;

        case "-":

            if(!bolzero)

            {

                //负浮点数

                reg=/^-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

            }

            else

            {

                //负浮点数+0

                reg=/^((-/d+(/./d+)?)|(0+(/.0+)?))$/;

            }           

            break;

        default:

            alert("检查符号参数,只可为(空、+、-)");

            return false;

            break;

    }

   

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {       

        return true;    

    }

}

 


/*

IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)

*/

function IsEnLetter(objStr,size)

{

    var reg;

   

    if(Trim(objStr)=="")

    {

        return false;

    }

    else

    {

        objStr=objStr.toString();

    }   

   

    if((size==null)||(Trim(size)==""))

    {

        size="UL";

    }

    else

    {

        size=size.toUpperCase();

    }

   

    switch(size)

    {

        case "UL":

            //大小写

            reg=/^[A-Za-z]+$/;

            break;

        case "U":

            //大写

            reg=/^[A-Z]+$/;

            break;

        case "L":

            //小写

            reg=/^[a-z]+$/;

            break;

        default:

            alert("检查大小写参数,只可为(空、UL、U、L)");

            return false;

            break;

    }

   

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {       

        return true;    

    }

}

 

 

/*

================================================================================

功能:鼠标小提示

作者:申旺

日期:2004/04/15

================================================================================

*/

 

//定义变量、设置默认值

var LabelFontFace="宋体,arial,Verdana";

var LabelFontColor="#000000";

var LabelFontSize="9pt";

var LabelFontStyle="Font.PLAIN";

var LabelBorderColor="#000000";

var LabelBackColor="#FFFFE1";

 

//设置各个属性

function SetLabelFontFace(obj)

{

       obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="宋体,arial,Verdana";

       }

       LabelFontFace=obj;

}

 

function SetLabelFontColor(obj)

{

    obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="#000000";

       }

       LabelFontColor=obj;

}

 

function SetLabelFontSize(obj)

{

    obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="9pt";

       }

       LabelFontSize=obj;

}

 

function SetLabelFontStyle(obj)

{

    obj=Trim(obj);

       if(obj==null || obj=="")

       {

              obj="Font.PLAIN";

       }

       LabelFontStyle=obj;

}

 

function SetLabelBorderColor(obj)

{

    obj=Trim(obj);

    if(obj==null || obj=="")

    {

        obj="#000000";

    }

    LabelBorderColor=obj;

}

 

function SetLabelBackColor(obj)

{

    obj=Trim(obj);

    if(obj==null || obj=="")

    {

        obj="#FFFFE1";

    }

    LabelBackColor=obj;

}

 

//合成文字样式

function SetTextStyle(str)

{

    var strRet="";

   

    var strStyle="";

   

    strStyle="font-family:"+LabelFontFace+";";

    strStyle+="color:"+LabelFontColor+";";

    strStyle+="font-size:"+LabelFontSize+";";

   

    switch(LabelFontStyle.toLowerCase())

    {

        case "font.plain":

            strStyle+="font-weight: normal;";

            strStyle+="font-style: normal;";

            break;

        case "font.bold":

            strStyle+="font-weight: bold;";

            strStyle+="font-style: normal;";

            break;

        case "font.italic":

            strStyle+="font-weight: normal;";

            strStyle+="font-style: italic;";

            break;

        case "font.italicbold":

        case "font.bolditalic":

            strStyle+="font-weight: bold;";

            strStyle+="font-style: italic;";

            break;

        default:

            strStyle+="font-weight: bold;";

            strStyle+="font-style: italic;";

            break;

    }

   

    strRet="<font style='"+strStyle+"'>";

    strRet+="&nbsp;"+str+"&nbsp;";

    strRet+="</font>";

   

    return strRet;

}

 

//合成表格样式

function SetTableStyle()

{

    var strRet="";

   

    strRet+="border-right: "+LabelBorderColor+" 1px solid;";

    strRet+="border-top: "+LabelBorderColor+" 1px solid;";

    strRet+="border-left: "+LabelBorderColor+" 1px solid;";

    strRet+="border-bottom: "+LabelBorderColor+" 1px solid;";

    strRet+="background-color:"+LabelBackColor;   

   

    return strRet;

}

 

//显示提示

function ShowNote(str)

{

       var strHtml;

      

       strHtml="";

       strHtml+="<table height=1px width=1px border='0'cellspacing='0' cellpadding='0' style='" + SetTableStyle() + "'>";

       strHtml+="<tr>";

       strHtml+="<td>"+SetTextStyle(str)+"</td>";

       strHtml+="</tr>";

       strHtml+="</table>";                          

      

       if (document.all&&document.readyState=="complete")

       {                                       

              document.all.div_Note.innerHTML=strHtml;

              document.all.div_Note.style.pixelLeft=event.clientX+document.body.scrollLeft+10

              document.all.div_Note.style.pixelTop=event.clientY+document.body.scrollTop+10

              document.all.div_Note.style.visibility="visible"

       }    

}

 

//隐藏提示

function HideNote()

{

       if (document.all)

       {

              document.all.div_Note.style.visibility="hidden";

       }

       else

       {

              if (document.layers)

              {

                     clearInterval(currentscroll)

                     document.div_Note.visibility="hidden";

              }

       }                                

}

 

//初始化

function Init()

{

    window.document.write("<div id=/"div_Note/" style=/"VISIBILITY:hidden; POSITION:absolute; HEIGHT:13px;z-index:1/"></div>");

}

Init();

 

//生成提示字符

function ShowLabel(text,note,bclick)

{

       if(bclick!=null)

       {

              return "<a href=/"#/" onMouseOver=/"ShowNote('" + note + "')/" onMouseOut=/"HideNote()/" onClick=/"JavaScript:DoSomeThing(this);/">" + text + "</a>";

       }

       else

       {

           return "<a href=/"#/" onMouseOver=/"ShowNote('" + note + "')/" onMouseOut=/"HideNote()/">" + text + "</a>";

       }

}

 

 

 

测试页面:

<HTML>

    <HEAD>

        <title>Common JavaScript</title>

              <script language="javascript" src="./Common.js"></script>

        <script language="javascript">     

                     function CheckInt()

                     {

                            iptResult.value=IsInt(iptTest.value,iptSign.value,iptZero.value);

                     }

                    

                     function CheckFloat()

                     {

                            iptResult.value=IsFloat(iptTest.value,iptSign.value,iptZero.value);

                     }

                    

                     function CheckLetter()

                     {

                            iptResult.value=IsEnLetter(iptTest.value,iptSign.value);

                     }

                     document.write(ShowLabel("TEST","Only a testing!"));

                     document.write("<br>");

              </script>

        <meta http-equiv="expires" content="0">       

    </HEAD>

    <body>   

     <input type=text value="" id="iptTest"><input type=button value="IsEmpty" onclick="IsEmpty('iptTest');">

     <input type=button value="CheckInt" onclick="CheckInt()">

        <br>

     <input type=text value="" id="iptSign" NAME="iptSign"><input type=button value="CheckFloat" onclick="CheckFloat()">

        <br>

     <input type=text value="" id="iptZero" NAME="iptZero"><input type=button value="CheckLetter" onclick="CheckLetter()">    

     <br>

     <input type=text value="" id=iptResult disabled=true>

    </body>

</HTML>

 

效果如下:


 

补充:


Trim的实现

/*********************************************
1. LTrim(str)去除str左边的空白字符(空格,换行,回车)
2. RTrim(str)去除ste右边的空白字符(空格,换行,回车)
3. Trim(str)去除ste两边的空白字符(空格,换行,回车)
*********************************************/

function LTrim(str) {
return str.replace(/^[ /t/n/r]+/g, "");
}

function RTrim(str) {
return str.replace(/[ /t/n/r]+$/g, "");
}

function Trim(str) {
    return RTrim(LTrim(str));
}

EZ-USB-FX3 slavefifo调试 最近使用fx3-usb-3.0调试slave fifo的传输,期间遇到许多难以理解的问题。在这里分享给大家,希望可以少走一些弯路,我自己是这样走过来的。 1,首先去官网下载原始的参考设计,并安装所提供的SDK软件:FX3SDKSetup_1.3.4.exe 2,接着把参考设计文档AN65974阅读一遍,分别创建新的SDK工程和FPGA工程。如果使用的原厂的开发板,那么可以按照文档提示,可以很顺畅的跑完整过测试。否则需要匹配自己的硬件,做针对性的更改和移植,而我走的是后一条路,于是开始了漫长的调试之路。. 阅读详情

相关推荐

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

二.4.JavaScript 动态脚本语言

  前面我们说到HTML:定义网页的内容。CSS:描述网页的样式。JavaScript:描述网页的行为。简单介绍完了HTML和CSS,这次来介绍一下JavaScript。   JavaScript是哟中可以嵌入在HTML代码中有客户端浏览器运行的脚本语言。在网页中使用JavaScript,不仅可以实现网页特效,还可以响应用户请求动态交互的功能。通常情况下,在web页面使用JavaScript有两种方法,一种是在页面中直接嵌入JavaScript代码,另一种是连接外面的JavaScript文件。下面对这两种的

qq_51431768的博客 508

别再一个个BAPI调了!用CVI_EI_INBOUND_MAIN一次性搞定SAP BP主数据(附完整ABAP代码)

本文详细介绍了如何使用SAP标准函数CVI_EI_INBOUND_MAIN高效维护业务伙伴(BP)主数据,替代传统的多BAPI调用方式。通过完整ABAP代码示例,展示了如何一站式处理供应商、客户、公司代码等所有视图的创建与更新,提升数据一致性和开发效率。

weixin_29204205的博客 291

JavaScript的通用库与动画特效

一、 通用库 通用 JavaScript 库提供适应任何需求的功能。所有通用库都致力于通过将常用功能封装为新 API, 来补偿浏览器接口、弥补实现差异。其中有些 API 与原生功能相似,而另一些 API 则完全不同。通用库 通常会提供与 DOM 的交互,对 Ajax 的支持,还有辅助常见任务的实用方法。 1.1 jQuery jQuery 是为 JavaScript 提供函数式编程接口的开源库。该库的核心是通过 CSS 选择符匹配 DOM 元 素,通过调用链,jQuery 代码看起来更像描述故事情节而不是

这里是前端,是不一样的前端 556

kivy--入门(一)(Windows)python

从零开始学习kivy 由于课程需要写一个app,还要写报告,这就很愁人,头秃,脑壳大。 虽然学过Android,但是小编对于Java就像对牛弹琴似的,不能说完全不懂,只能说Java这个语言不太适合我,不学还不行,还是先利用python的kivy编写一个吧。 在各大网站搜索开发app,发现适合写手机app的除了Android还有kivy,所以还是先学习如何使用吧! 文章目录从零开始学习kivy前言一、安装二、添加按钮+标签三、文本输入(TextInput)总结 前言 首先推荐这篇博客kivy的安装和使用

刘念卿的博客 9965

TSC条码打印机C#例程(tsclib.dll调用) 【转】

//----program.cs using System;using System.Collections.Generic;using System.Windows.Forms; using System.Runtime.InteropServices;public class TSCLIB_DLL{[DllImport("TSCLIB.dll", EntryPoint = "abou...

weixin_33843947的博客 2440

设计js通用库

设计js通用库的四个步骤: 1、需求分析:分析库需要完成的所有功能。 2、编程接口:根据需求设计需要用到的接口及参数、返回值。 3、调用方法:支持链式调用,我们期望以动词方式描述接口。   (ps:设计链:记录当前任务链的索引。      每个任务执行完毕后,通过调用next方法,执行下一个任务,同事更新任务链索引值。) 4、代码设计:最后根据接口、需求来设计代码。 转载于:http...

weixin_34206899的博客 95

QT实现Word读写

在windows环境下,我们可以通过ActiveQt实现Office自动化,相当于VB的VBA功能。 以下是一个实例: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     //显示的打开一个word应用程序     QAxW

nameofhsw的专栏 1万+

JavaScript通用库(一)

JavaScript通用库(一)   [ 2005-09-23 | 作者:coli | JavaScript在WEB编程中能起到很大的作用,将一些常用的功能写成JavaScript类库。将下面代码保存为Common.js类库功能:1.Trim(str)--去除字符串两边

deadshot123的专栏 734

通义千问AI模型对接飞书机器人-集成飞书机器人(2-2)

http请求地址上一篇百炼平台配置的应用地址。

hefaji的博客 1916

【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点)

本文给大家带来的改进机制是,其主要改进思想集中在结合硬件感知的网络架构搜索(NAS)和NetAdapt算法,以优化移动设备CPU上的性能。它采用了新颖的架构设计,包括反转残差结构和线性瓶颈层,以及新的高效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP),以提升在移动分类、检测和分割任务上的表现。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性。

Snu77的博客 2747

JavaScript通用库(二)

 JavaScript通用库(二)VisualSW  /*IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l)*/function IsEnLetter(objStr,size){    var reg;        if(Trim(objStr)=="")    {        re

大漠孤烟的专栏 810

梯度提升决策树GBDT原理与代码实例讲解

梯度提升决策树GBDT原理与代码实例讲解 1.背景介绍 1.1 机器学习发展历程 机器学习是人工智能领域的一个重要分支,旨在使计算机具备学习和改进自身性能的能力。随着大数据时代的到来,海量的数据为机器学习算法提供了广阔的应用空间。在

AI天才研究院 1081

我的一个js 通用库

xmcommon 一个js 通用库, 将一些常用的函数之类的,移到这里方便使用 准备用typescript重写这个库,并计划正式发布它的1.0版本。 第一个改写版0.9提交,一下就准备单元测试与兼容性测试 github:https://github.com/zdhsoft/xmcommon npm:https://www.npmjs.com/package/xmcommon 目录 [TOC] 安装 npm install xmcommon 主要模块说明 ..

过客2019 347

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 毕业设计(十三)-我还是喜欢FIREFOX
下一篇: 毕业设计(十四)-在GridView上显示XML中的元素值还要用上XSL??
linqingfeng
博客等级 码龄21年 69粉丝 140原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值