js

JavaScript的起源?不同的JavaScript和引擎?JS版本发展史? 1995年,JavaScript诞生了。不得不提到它的标准ECMAScript, 它是一个语言标准,而非具体的语言。JavaScript除了名字有”Java”, 其它和Java没任何关系。Netscape为推广自家的LiveScript,命名中包含当时最流行的编程语言Java来蹭蹭热度。Netscape公司有些人可能不熟悉, 它就是早期被IE做浏览器对抗后来逐渐消亡一家公司。 阅读详情


//帮助显示与关闭

var helpDivName="",isCloseHelpDiv=true;
//帮助提示层名称,提示信息,层宽度,层高度,层上边距,层左边距
function helpTip(helpName,helpTitle,msg,divWidth)
{
    //checkHelp();
    var a=document.getElementById(helpName);
    a.style.display="block";
 a.style.width=divWidth+"px";
 var divLeft=divWidth-36;
 a.style.left="-"+divLeft+"px";
 msg="<a href=/"javascript:helpDivClose('"+helpName+"');/" class='closeBtn' title='点击关闭'>X</a><table border=0 cellpadding=0 cellspacing=0 width=100%><tr><td><strong>"+helpTitle+"</strong><p>"+msg+"</p></td></tr></table>";
 a.innerHTML=msg;
 helpDivName=helpName;
 isCloseHelpDiv=false;
}

function helpDivClose(divName)
{
    document.getElementById(divName).style.display="none";
}
document.onclick=checkHelp;
function checkHelp(e)
{
    if (isCloseHelpDiv==true && helpDivName!="")
    {
        document.getElementById(helpDivName).style.display='none';
    }
    isCloseHelpDiv=true;
}
//end ------------帮助显示与关闭


//判断日期格式: MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
function dateCheck(dateStr) {
 var datePat = /^(/d{1,2})(//|-)(/d{1,2})/2(/d{4})$/; // requires 4 digit year
 var matchArray = dateStr.match(datePat); // is the format ok?
 if (matchArray == null) {
  return false;
 }
 month = matchArray[1]; // parse date into variables
 day = matchArray[3];
 year = matchArray[4];
 if (month < 1 || month > 12) { // check month range
  return false;
 }
 if (day < 1 || day > 31) {
  return false;
 }
 if ((month==4 || month==6 || month==9 || month==11) && day==31) {
  return false;
 }
 if (month == 2) { // check for february 29th
  var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
  if (day>29 || (day==29 && !isleap)) {
   return false;
    }
 }
 return true;
}

//判断日期格式: yyyy/mm/dd   YYYY-MM-DD
function isDate(str)
{
  var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);
  if(r==null)
  {
   return false;
  }
  var d= new Date(r[1], r[3]-1, r[4]);
  if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]))
  { 
   return false;
  }
  return true;
}

//去掉右边空格
String.prototype.Rtrim = function()
{
 return this.replace(/(/s*$)/g, "");
}

//得到字符串的长度(字节数)
String.prototype.len = function()
{
 return this.replace(/[^/x00-/xff]/g,"**").length;
}
 
//判断是否数字
function isDigit(s)
{
 var patrn=/^[0-9]{1,50}$/;
 if (!patrn.exec(s)) return false
 return true
}

//替换函数 
function MyReplace(s,oldStr,str)
{
  var newStr=s;
  while(newStr.indexOf(oldStr)>-1)
   newStr = newStr.replace(oldStr,str);
  return newStr;
}

//得到输入框的Value
function getValue(Field)
{
 return eval("document."+Field).value;
}

//限制输入字符长度
function textCounter(field,maxlimit)
{
    var re=0;
    var str="";
    str=field.value;
    str=str.replace(/[^/x00-/xff]/g,"**");
    if (str.length > maxlimit)
    {
        field.value=getByteOfNum(field.value,maxlimit);
        re=0;
    }
    else
    {
        re=parseInt((maxlimit-str.length)/2)
    }
   
    return re;
}

//截取字符长度,用于上面函数textCounter()中

function getByteOfNum(val, num)
{
    var ch,bytenum=0;
    var rs = "";
    var pt = /[^/x00-/xff]/;
    for (var i=0; i < num; i++)
    {
        ch = val.substr(i, 1);
        if (ch.match(pt))
        {
            bytenum += 2;
            if (bytenum > num)
            {
                return rs;
            }
        }
        else
        {
            bytenum += 1;
        }
        rs += ch;
        if (bytenum == num)
        {
            return rs;
        }
    }
   
    return rs;
}

//判断是否有效的Email格式
function IsEmail(s)
{
    if(s.length>100)
    {
        return   false;
    }
    var regu="^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[_.0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";      
    var re=new RegExp(regu);  
    if(s.search(re) != -1)
    {
        return true;
    } 
    else
    {
        return false;
    }
}

//判断电话号码
function isTel(str)
{
    var reg=/^([0-9]|[/-])+$/g ;
    if(str.length<7 || str.length>18)
    {
        return false;
    }
    else
    {
        return reg.exec(str);
    }
}

//检验手机号码

function checkMobile(s)
{
    var regu =/^[1][3-9][0-9]{9}$/;
    var re = new RegExp(regu);
    if (re.test(s))
    {
        return true;
    }
    else
    {
        return false;
    }
}

//用在列表页面中,提示用户是否要删除

function CheckTrue()
{
    var IsTrue=0;
    var obj=document.getElementsByName("cbId");
    for (var i=0;i<obj.length;i++)
    {
        if(obj[i].name=="cbId")
        {
            if(obj[i].checked==true)
            {
                IsTrue=1;
                break;
            }
        }
    }
    if(IsTrue==1)
    {
        if(confirm('确定删除吗?'))
        {
            return true;
        }
    }
    else
    {
        alert('请选择您要操作的选项!');
        return false;
    }
   
    return false;
}
//用在列表页面中,提示用户操作选择
function CheckRelease()
{
    var IsTrue=0;
    var obj=document.getElementsByName("cbId");
    for (var i=0;i<obj.length;i++)
    {
        if(obj[i].name=="cbId")
        {
            if(obj[i].checked==true)
            {
                IsTrue=1;
                break; 
            }
        }
    }
    if(IsTrue==1)
    {
        return true;
    }
    else
    {
        alert('请选择您要操作的选项!');
        return false;
    }
   
    return false;
}

//蒯伟添加,用来sct中选择新闻保存cookie
function addCookie(objName,objValue,objHours)
{
    //添加cookie
    var str = objName + "=" + escape(objValue);
    if(objHours > 0)
    {
        //为0时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objHours*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
   }
   document.cookie = str;
}

//获取指定名称的cookie的值,sct中选择新闻
function getCookie(objName)
{
    var arrStr = document.cookie.split(";");
    for(var i = 0;i < arrStr.length;i ++)
    {
        var temp = arrStr[i].split("=");
        if(temp[0] == objName)
        {
            return unescape(temp[1]);
        }
    }
}
//删除指定名称的cookie,sct中选择新闻
function delCookie(name)
{
    //为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间
    var date = new Date();
    date.setTime(date.getTime() - 10000);
    document.cookie = name + "=a; expires=" + date.toGMTString();
}

//智能搜索
function showlist(obj,showdiv)
 {
      // alert(obj.value);
      $(showdiv).style.display="block";
   var url = '../js/ajax.ashx';
   var pars = 't=showsearchlist&pa='+escape(obj.value);
   var myAjax = new Ajax.Updater(
   showdiv,
   url,
   {
   method: 'get',
   parameters: pars
   });
 
 }

JavaScript_JS的历史与发展 JS的诞生:程序员的弃子 以下引用部分来源于: Javascript诞生记 - 阮一峰的网络日志 (ruanyifeng.com) JS的发明者是布兰登·艾奇(Brendan Eich)。他出生于1961年,本科一开始是念物理学的,后来转去了数学和计算机系。有趣的是,作为JS之父,他却并不喜欢自己的这个孩子。 90年代初的早期浏览器功能非常弱小,而且受众范围也不广。那时,浏览器最大的功能是展示一些图片和文字: 彼时,浏览器的王者是一个叫网景(Netscape)的公司开发的网景浏览器(Netscape N 阅读详情

相关推荐

深入掌握JavaScript Node.js开发

本文还有配套的精品资源,点击获取 简介:JavaScript是前端开发中的主导语言,在Node.js环境下的服务器端编程中也显示出重要性。Node.js是一个基于V8引擎的跨平台JavaScript运行环境,具有事件驱动和非阻塞I/O特性,适用于构建高性能的并发服务器。该压缩包文件可能包含有关Node.js核心概念和模块的资料,比如模块化设计、文件系统操作、HTTP服务器创...

weixin_28809949的博客 2097

深入JavaScript之JS引擎如何执行JS代码

我们大概经常能听到“执行环境”、“作用域”、“原型(链)”、“执行上下文”等内容,它们都在描述什么? JS代码的运行 我们知道了js是弱类型语言,在运行时才确定变量类型。js引擎在执行js代码时,也会从上到下进行 词法分析、语法分析、语义分析 等处理,并在代码解析完成后生成AST(抽象语法树),最终根据AST生成CPU可以执行的机器码并执行。 除此之外,JS引擎在执行代码时还会进行其它处理,如 V8 中还有两个阶段: 编译阶段:该阶段会进行执行上下文的创建,包括创建变量对象、建立作用域链、确定 this

flying meng的菜鸟居 5951

求一个点到任意两个点所在直线距离 C#代码公式

求点C(X0,Y0) 到点A(x1,y1)和点B(x2,y2)所在直线的距离 1.已知任意两个点,求这两个点所在直线 已知点A(x1,y1),点B(x2,y2) 设直线上另外任意一个点为(x,y) 那么 (x-x1)/(y-y1) = (x2-x1)/(y2-y1); 整理后得方程: (y2-y1)x + (x1-x2)y + (y1-...

qq_29434987的博客 4492

node.js和javascript的关系

node.js是一个基于 Chrome V8引擎的 JavaScript 运行时环境 一、类比JavaScript和java JavaScript java V8 JVM node.js JRE JavaScript和java都是一门编程语言,至于两者的关系,是雷锋和雷峰塔的关系 V8是google开源的JavaScript引擎,用于执行JavaScript,...

【小石头的茅坑】 71万+

多智能体强化学习MASAC算法:从原理到PyTorch实战详解

深度强化学习通过智能体与环境的交互试错来学习最优策略,是解决复杂序列决策问题的核心技术。其核心原理在于利用价值函数或策略梯度来最大化累积奖励,在机器人控制、游戏AI等领域展现出巨大技术价值。当面对多个智能体需要协同或竞争的复杂动态环境时,单智能体算法因环境非平稳性而面临挑战,多智能体强化学习应运而生。Multi-Agent Soft Actor-Critic (MASAC) 算法融合了SAC的稳定高效与中心化训练去中心化执行的范式,通过维护中心化Critic网络和独立策略网络,有效解决了多智能体协作中的信用

weixin_30080745的博客 330

UE5.3.2 + VS2022社区版在Win11上的C++编译环境配置全解

Unreal Engine 5的C++开发依赖严格的工具链协同,其核心在于Visual Studio编译器版本、Windows SDK与引擎构建系统(UBT)的精准匹配。UE5.3.2强制要求MSVC v143.4(即VS2022 17.4+)及Windows 11 SDK 10.0.22621.0,任何偏差都会引发LNK2019链接失败、C1083头文件缺失或MSB8066构建中断等典型错误。该配置不仅关乎安装顺序,更涉及注册表清理、PATH环境变量、SDK路径注入与运行时DLL加载等底层机制。适用于Wi

weixin_33978722的博客 367

JS讲解(JavaScript)

JS,全称JavaScript,是⼀种。

m0_73776815的博客 7502

海康威视门禁考勤设备数据对接实战:从被动推送到主动拉取

本文深入探讨了海康威视门禁考勤设备数据对接的两种核心方案:HTTP推送与SDK主动拉取。文章对比了两种方式的适用场景、技术实现与优缺点,为开发者提供了从设备配置、代码编写到工程化部署的完整实战指南,帮助读者根据项目规模、网络环境及数据稳定性要求,做出最合适的技术选型。

weixin_29284657的博客 670

javaScript-如何引入js代码

javaScript-如何引入js代码 直接po代码和截图 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js01-如何引入js代码</title> <script type="text/javascript"> //script标签的...

一只苟延残喘的卑微蝼蚁 1万+

使用Python开发TreeATE的测试脚本常见问题

ImportError: No module named py_compile 找不到 DevLangPython3.dll 以上2个问题都是没有安装正确的Python,当前TreeATE依赖32位Python 2.7版本,暂时不支持Python 3以上版本

蓝白云的专栏 1033

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere

银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。

jiaworld的博客 730

原生JS(JavaScript)

JS 是JavaScript的简述 JS基于对象和事件驱动脚本语言,作用在浏览器上 JS的事件 onsubmit 主要用于表单的提交,绑定的位置在form标签里面,要有返回标记,如果提交的数据校验未通过,不允许表单提交 onload 用于页面加载的时候使用的事件,绑定的位置在body标签里,也可以用window.οnlοad=function(){} onclick/ondblclick 主要用于鼠标点击事件,常见的有按钮、图片、文字、超链接等等 onfocus/onblur 聚焦离焦事件,主要用

断肠人在刷牙〃的博客 9392

AT32串口打印全攻略:从零搭建到printf重定向(GCC版)

本文详细介绍了在GCC编译环境下为AT32系列MCU实现串口打印与printf重定向的完整方案。针对从Keil MDK迁移到GCC工具链时常见的串口无输出问题,文章从环境搭建、USART配置入手,重点剖析了GCC下printf重定向的核心原理——通过重写_write()函数,并提供了经过验证的代码实现、常见问题排查及性能优化建议。

weixin_29163797的博客 265

Node.js和Javascript的异同

JavaScript的组成: ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象) DOM(一些操作页面元素的方法) BOM(一些操作浏览器的方法) Nodejs的组成: ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象) os(操作系统) file(文件系统) net(网络系统) ...

【小石头的茅坑】 71万+

【知识图谱】neo4j安装与配置_社区版_2025(附完整安装软件包)

(经历过各种版本NEO4J,遇见杂七杂八的各种问题,也看过非常多很好的教程,特此来分享一下,为大家排排坑。

知识靠谱的博客 2万+

计算机控制技术及应用

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

【JavaScript】JS对象和JSON

var perStr='{"属性名":"属性值","属性名":"属性值","属性名":{},"属性名":["","",""],"属性名":[{},{},{}]}'3、创建数组并初始化:new Array("one","two",2) ,可简写: var 数组名=[元素,...]9、数组.splice(start,deleteCount,[添加的元素,...])---删除或删除添加原数组元素。1、数组1.concat(数组2)---返回数组1和数组2合并后的新数组。

想做职场小白吗? 我来教您....... 3168

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Node.js中运行JavaScript代码

最近学习JS的内容,有幸得到Bill的指点,之前自己运行JS的脚本是在浏览器上,之后惊喜的发现,可以在加载Node.js环境中,在命令窗口运行脚本。这样做的好处是什么呢?大大的减少了窗口来回切换的的频率,提高我们的效率。看起来也是很高大上的。

No body But u 8211

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

QT与JavaScript交互/Qt调用JS脚本

QT与JavaScript交互 简介 本篇主要对QT与JavaScript的交互方法通过代码进行详细说明,实现的QT版本是 4.8.7, QT += webkit。完整代码中包含启动html调试窗口的方法。 QT中调用JS函数 // 调用js中的无参无返回值,名为QtCallNoParam的函数 ui->qwebView ->page()->mainFrame()->evaluateJavaScript(QString("QtCallNoParam()")); // 调用js中的有两

宁静致远的博客 1万+

JavaScript和Node.js的关系

JavaScript和Node.js的联系与区别。

cnds123的专栏 4510

初识JavaScript——JS

目录 1.认识JS 1.1JavaScript是什么 1.2JS的作用 1.3 HTML/CSS/JS的关系 1.4 浏览器执行JS 1.5JS的组成 1.6JS书写位置 1.7JS注释 1.8JS输入输出语句 2.变量 2.1变量的理解和储存 2.2变量的使用 2.3变量语法拓展 2.4声明变量的特殊情况 2.5变量的命名规范 1.认识JS 1.1JavaScript是什么 1.JS是一种 运行在客户端的脚本语言。 2.脚本语言不需要编译,在运行过程中有J.

孙宇航的博客 3046

JavaScript 前端枚举库 js-enumerate

前端枚举类Enum对象可在JavaScript中使用,用于枚举定义,前端组件单选、多选等的options选项的定义。

带着Bug看世界 2599

Next.js, Node.js, JavaScript, TypeScript 的关系

【代码】Next.js, Node.js, JavaScript, TypeScript 的关系。

坚持输出,记录成长。 1732

Node.js 是什么?Node.js与JavaScript的区别是什么?

node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行     Node.js是一个可以快速构建网络服务及应用的平台,是用Javascri...

吴甜甜的技术博客 3万+

JavaScript与服务器端框架Nest.js

Nest.js是一个用于构建高效且可扩展的服务端应用程序的框架。它利用TypeScript的强大类型系统,并支持纯JavaScript,使得代码更加健壮和易于维护。Nest.js的设计灵感来源于Angular,提供了模块化、依赖注入等特性,让开发者能够更专注于业务逻辑的实现。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1702

【JavaScript】JS语法入门到实战

Javascript语法的基本讲解。

大三小白C++进阶之路 2586

javascript(js)中使用BigDecimal

了解了java中使用BigDecimal之后改在javascript上使用BigDecimal javascript上使用BigDecimal 与java中使用还是有很大区别的 定义BigDecimal类型 var x = new BigDecimal(); 此时的 x相当于一个空的BigDecimal类型的数据 将数据改为BigDecimal类型 如修改 var x = 1; 相当于将x的值重新定义在赋值给x x = new BigDecimal(""+x); 多加注意 new BigDecim

xiaojiakun的博客 1万+
上一篇: js限制文本框只能某种格式
下一篇: base.css
abc_7
博客等级 码龄17年 14粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值