帐号不能含有中文js
日期:2006-1-3 21:50:36
<script language="JavaScript">
function start(){
MM_preloadImages('images/bmail_index_22_02_over.gif')
document.free.username.focus();
return true;
}
function checkform(){
if(document.free.username.value=="")
{
alert("请输入您的帐号");
document.free.username.focus();
return false;
}
if(/[^\x00-\xff]/.test(document.free.username.value))
{
alert("帐号不能含有中文!");
document.free.username.focus();
return false;
}
if(document.free.password.value=="")
{
alert("请输入您的密码");
document.free.password.focus();
return false;
}
return true;
}
</script>
关闭窗口
<input type=button name=ss value=关闭窗口onclick="javascript:indow.opener.location.reload();window.close();">
刷新父窗口;并关闭子窗口
<script>window.opener.location.reload();window.close();</script>
JS页面打印
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
<center class="Noprint" >
<p>
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>
</OBJECT>
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
</p>
<p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>
<br/>
</p>
<hr align="center" width="90%" size="1" noshade>
</center>
一些常用的js脚本
日期:2006-1-1 16:56:00 人气:0 [大 中 小]
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return false;" 防止复制
5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
7. <input style="ime-mode:disabled"> 关闭输入法
8. 永远都会带着框架
<script language="JavaScript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
// --></script>
9. 防止被人frame
<SCRIPT LANGUAGE=JAVASCRIPT><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>
10. <noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为
11. <input type=button value=查看网页源代码
onclick="window.location = 'view-source:'+ 'http://www.youkuaiyun.com/'">
12. 怎样通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
response.write "<font color=#FF0000>您通过了代理服务器,"& _
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
%>
13. 取得控件的绝对位置
//Javascript
<script language="Javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent)
alert("top="+t+"\nleft="+l);
}
</script>
//VBScript
<script language="VBScript"><!--
function getIE()
dim t,l,a,b
set a=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
while a.tagName<>"BODY"
set a = a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
end function
--></script>
14. 光标是停在文本框文字的最后
<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">
15. 判断上一页的来源
asp:
request.servervariables("HTTP_REFERER")
java script:
document.referrer
16. 最小化、最大化、关闭窗口
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>
本例适用于IE
17.
<%
'定义数据库连接的一些常量
Const adOpenForwardOnly = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark
Const adOpenKeyset = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
Const adOpenDynamic = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
Const adOpenStatic = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
Const adLockReadOnly = 1 '锁定类型,默认的,只读,不能作任何修改
Const adLockPessimistic = 2 '当编辑时立即锁定记录,最安全的方式
Const adLockOptimistic = 3 '只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
Const adCmdText = &H0001
Const adCmdTable = &H0002
%>
18. 网页不会被缓存
HTM网页
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或者<META HTTP-EQUIV="expires" CONTENT="0">
ASP网页
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = "no-cache"
PHP网页
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
怎样让表单没有凹凸感?
<input type=text style="border:1 solid #000000">
或
<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom: 1 solid #000000"></textarea>
<div><span>&<layer>的区别?
<div>(division)用来定义大段的页面元素,会产生转行
<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行
<layer>是ns的标记,ie不支持,相当于<div>
让弹出窗口总是在最上面:
<body onblur="this.focus();">
不要滚动条?
让竖条没有:
<body style='overflow:scroll;overflow-y:hidden'>
</body>
让横条没有:
<body style='overflow:scroll;overflow-x:hidden'>
</body>
两个都去掉?更简单了
<body scroll="no">
</body>
怎样去掉图片链接点击后,图片周围的虚线?
<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>
电子邮件处理提交表单
<form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">
<input type=submit>
</form>
在打开的子窗口刷新父窗口的代码里如何写?
window.opener.location.reload()
如何设定打开页面的大小
<body onload="top.resizeTo(300,200);">
在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动
<html><head>
<STYLE>
body
{background-image:url(logo.gif); background-repeat:no-repeat; background-position:center }
</STYLE>
</head>
<body bgproperties="fixed" >
</body>
</html>
19. 检查一段字符串是否全由数字组成
<script language="Javascript"><!--
function checkNum(str){return str.match(/\D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>
20. 获得一个窗口的大小
document.body.clientWidth,document.body.clientHeight
21. 怎么判断是否是字符
if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");
else alert("全是字符");
22.TEXTAREA自适应文字行数的多少
<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
</textarea>
23. 日期减去天数等于第二个日期
<script language=Javascript>
function cc(dd,dadd)
{
//可以加上错误处理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
cc("12/23/2002",2)
</script>
24. 选择了哪一个Radio
<HTML><script language="vbscript">
function checkme()
for each ob in radio1
if ob.checked then window.alert ob.value
next
end function
</script><BODY>
<INPUT name="radio1" type="radio" value="style" checked>Style
<INPUT name="radio1" type="radio" value="barcode">Barcode
<INPUT type="button" value="check" onclick="checkme()">
</BODY></HTML>
25.获得本页url的request.servervariables("")集合
Response.Write "<TABLE border=1><!-- Table Header --><TR><TD><B>Variables</B></TD><TD><B>Value</B></TD></TR>"
for each ob in Request.ServerVariables
Response.Write "<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"
next
Response.Write "</TABLE>"
26.
本机ip<%=request.servervariables("remote_addr")%>
服务器名<%=Request.ServerVariables("SERVER_NAME")%>
服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>
服务器端口<%=Request.ServerVariables("SERVER_PORT")%>
服务器时间<%=now%>
IIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>
脚本超时时间<%=Server.ScriptTimeout%>
本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>
服务器解译引擎<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
服务器操作系统<%=Request.ServerVariables("OS")%>
27.ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">
28. 检测某个网站的链接速度:
把如下代码加入<body>区域中:
<script language=Javascript>
tim=1
setInterval("tim++",100)
b=1
var autourl=new Array()
autourl[1]="www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="www.cctv.com"
function butt(){
document.write("<form name=autof>")
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=txt"+i+" size=10 value=测试中……> =》<input type=text name=url"+i+" size=40> =》<input type=button value=GO onclick=window.open(this.form.url"+i+".value)><br>")
document.write("<input type=submit value=刷新></form>")
}
butt()
function auto(url)
else
b++
}
function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl[i]+"/"+Math.random()+" width=1 height=1 onerror=auto('http://"+autourl[i]+"')>")}
run()</script>
29. 各种样式的光标
auto :标准光标
default :标准箭头
hand :手形光标
wait :等待光标
text :I形光标
vertical-text :水平I形光标
no-drop :不可拖动光标
not-allowed :无效光标
help :?帮助光标
all-scroll :三角方向标
move :移动标
crosshair :十字标
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize
JavaScript表单验证
日期:2005-12-26 2:56:19
以下是引用片段:
<script language = javascript>
function test(){
if (document.sub.uname.value.length<4){
alert("姓名最小长度为4!");
document.sub.uname.select();
return false;
}
if(/[^A-Za-z0-9_]/.exec(document.sub.uname.value)!=null)
{
alert("姓名只能由数字、字母、下划线组成!");
document.sub.uname.select();
return false;
}
if (/[\s]/.exec(document.sub.upsw.value)!=null) {
alert("密码不能含有空白字符!");
document.sub.upsw.focus();
return false;
}
if (document.sub.upsw.value.length <4) {
alert("密码最小长度为4!");
document.sub.upsw.focus();
return false;
}
if (document.sub.upswd.value.length == 0) {
alert("请输入您的确认密码!");
document.sub.upswd.focus();
return false;
}
if (document.sub.upswd.value!=document.sub.upsw.value ) {
alert("您的密码与确认密码不匹配请从新输入!");
document.sub.upswd.focus();
return false;
}
if(document.sub.uemail.value.length !=0){
if(/@/.exec(document.sub.uemail.value)==null){
alert("请注意E-Mail的正确形式!");
document.sub.uemail.select();
return false;
}
}
if (isNaN(document.sub.uqq.value)){
alert("QQ需为数字形式!");
document.sub.uqq.select();
return false;
}
return true;
}
</script>
javascript 常用代码大全
以下是引用片段:
javascript 常用代码大全
digits[Number(d)] + decimals[i];
}
}
}
// Confirm and return the final output string:
if (outputCharacters == "")
{
outputCharacters = CN_ZERO + CN_DOLLAR;
}
if (decimal == "")
{
outputCharacters += CN_INTEGER;
}
outputCharacters = CN_SYMBOL + outputCharacters;
return outputCharacters;
}
Number.prototype.toImage = function()
{
var num = Array(
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0x5,0x5,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0x4,0x4,0x4,0x4,0x4}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0xF,0x1,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0xF,0x4,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0x5,0x5,0xF,0x4,0x4}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x1,0xF,0x4,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x1,0xF,0x5,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0x4,0x4,0x4}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0xF,0x5,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0xF,0x4,0xF}"
);
var str = this + "";
var iIndex
var result=""
for(iIndex=0;iIndex<str.length;iIndex++)
{
result +="<img src='javascript:" & num(iIndex) & "'">
}
return result;
}
/*
******************************************
其他函数扩充
******************************************
*/
/*
===========================================
//验证类函数
===========================================
*/
function IsEmpty(obj)
{
obj=document.getElementsByName(obj).item(0);
if(Trim(obj.value)=="")
{
if(obj.disabled==false && obj.readOnly==false)
{
obj.focus();
}
return true;
}
else
{
return false;
}
}
/*
===========================================
//无模式提示对话框
===========================================
*/
function modelessAlert(Msg)
{
window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}
/*
===========================================
//页面里回车到下一控件的焦点
===========================================
*/
function Enter2Tab()
{
var e = document.activeElement;
if(e.tagName == "INPUT" &&
(
e.type == "text" ||
e.type == "password" ||
e.type == "checkbox" ||
e.type == "radio"
) ||
e.tagName == "SELECT")
{
if(window.event.keyCode == 13)
{
window.event.keyCode = 9;
}
}
}
////////打开此功能请取消下行注释
//document.onkeydown = Enter2Tab;
function ViewSource(url)
{
window.location = 'view-source:'+ url;
}
///////禁止右键
document.oncontextmenu = function() { return false;}
/*
******************************************
字符串函数扩充
******************************************
*/
/*
===========================================
//去除左边的空格
===========================================
*/
String.prototype.LTrim = function()
{
return this.replace(/(^ *)/g, "");
}
String.prototype.Mid = function(start,len)
{
if(isNaN(start)&&start<0)
{
return "";
}
if(isNaN(len)&&len<0)
{
return "";
}
return this.substring(start,len);
}
/*
===========================================
//去除右边的空格
===========================================
*/
String.prototype.Rtrim = function()
{
return this.replace(/( *$)/g, "");
}
/*
===========================================
//去除前后空格
===========================================
*/
String.prototype.Trim = function()
{
return this.replace(/(^ *)|( *$)/g, "");
}
/*
===========================================
//得到左边的字符串
===========================================
*/
String.prototype.Left = function(len)
{
if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}
return this.substring(0,len);
}
/*
===========================================
//得到右边的字符串
===========================================
*/
String.prototype.Right = function(len)
{
if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}
return this.substring(this.length-len,this.length);
}
/*
===========================================
//得到中间的字符串,注意从0开始
===========================================
*/
String.prototype.Mid = function(start,len)
{
if(isNaN(start)||start==null)
{
start = 0;
}
else
{
if(parseInt(start)<0)
{
start = 0;
}
}
if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0)
{
len = this.length;
}
}
return this.substring(start,start+len);
}
/*
===========================================
//在字符串里查找另一字符串:位置从0开始
===========================================
*/
String.prototype.InStr = function(str)
{
if(str==null)
{
str = "";
}
return this.indexOf(str);
}
/*
===========================================
//在字符串里反向查找另一字符串:位置0开始
===========================================
*/
String.prototype.InStrRev = function(str)
{
if(str==null)
{
str = "";
}
return this.lastIndexOf(str);
}
/*
===========================================
//计算字符串打印长度
===========================================
*/
String.prototype.LengthW = function()
{
return this.replace(/[^\x00-\xff]/g,"**").length;
}
/*
===========================================
//是否是正确的IP地址
===========================================
*/
String.prototype.isIP = function()
{
var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
if (reSpaceCheck.test(this))
{
this.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0
&& RegExp.$2 <= 255 && RegExp.$2 >= 0
&& RegExp.$3 <= 255 && RegExp.$3 >= 0
&& RegExp.$4 <= 255 && RegExp.$4 >= 0)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
/*
===========================================
//是否是正确的长日期
===========================================
*/
String.prototype.isDate = function()
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)
{
return false;
}
var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
/*
===========================================
//是否是手机
===========================================
*/
String.prototype.isMobile = function()
{
return /^0{0,1}13[0-9]{9}$/.test(this);
}
/*
===========================================
//是否是邮件
===========================================
*/
String.prototype.isEmail = function()
{
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
}
/*
===========================================
//是否是邮编(中国)
===========================================
*/
String.prototype.isZipCode = function()
{
return /^[\\d]{6}$/.test(this);
}
/*
===========================================
//是否是有汉字
===========================================
*/
String.prototype.existChinese = function()
{
//[\u4E00-\u9FA5]為漢字﹐[\uFE30-\uFFA0]為全角符號
return /^[\x00-\xff]*$/.test(this);
}
/*
===========================================
//是否是合法的文件名/目录名
===========================================
*/
String.prototype.isFileName = function()
{
return !/[\\\/\*\?\|:"<>]/g.test(this);
}
/*
===========================================
//是否是有效链接
===========================================
*/
String.Prototype.isUrl = function()
{
return /^http:\/\/([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$/.test(this);
}
/*
===========================================
//是否是有效的身份证(中国)
===========================================
*/
String.prototype.isIDCard = function()
{
var iSum=0;
var info="";
var sId = this;
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
if(!/^\d{17}(\d|x)$/i.test(sId))
{
return false;
}
sId=sId.replace(/x$/i,"a");
//非法地区
if(aCity[parseInt(sId.substr(0,2))]==null)
{
return false;
}
var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
//非法生日
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
return false;
}
for(var i = 17;i>=0;i--)
{
iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
}
if(iSum%11!=1)
{
return false;
}
return true;
}
/*
===========================================
//是否是有效的电话号码(中国)
===========================================
*/
String.prototype.isPhoneCall = function()
{
return /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this);
}
/*
===========================================
//是否是数字
===========================================
*/
String.prototype.isNumeric = function(flag)
{
//验证是否是数字
if(isNaN(this))
{
return false;
}
switch(flag)
{
case null://数字
case "":
return true;
case "+"://正数
return/(^\+?|^\d?)\d*\.?\d+$/.test(this);
case "-"://负数
return/^-\d*\.?\d+$/.test(this);
case "i"://整数
return/(^-?|^\+?|\d)\d+$/.test(this);
case "+i"://正整数
return/(^\d+$)|(^\+?\d+$)/.test(this);
case "-i"://负整数
return/^[-]\d+$/.test(this);
case "f"://浮点数
return/(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);
case "+f"://正浮点数
return/(^\+?|^\d?)\d*\.\d+$/.test(this);
case "-f"://负浮点数
return/^[-]\d*\.\d$/.test(this);
default://缺省
return true;
}
}
/*
===========================================
//转换成全角
===========================================
*/
String.prototype.toCase = function()
{
var tmp = "";
for(var i=0;i<this.length;i++)
{
if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)
{
tmp += String.fromCharCode(this.charCodeAt(i)+65248);
}
else
{
tmp += String.fromCharCode(this.charCodeAt(i));
}
}
return tmp
}
/*
===========================================
//对字符串进行Html编码
===========================================
*/
String.prototype.toHtmlEncode = function
{
var str = this;
str=str.replace("&","&");
str=str.replace("<","<");
str=str.replace(">",">");
str=str.replace("'","'");
str=str.replace("\"",""");
return str;
}
qqdao(青青岛)
精心整理的输入判断js函数
关键词:字符串判断,字符串处理,字串判断,字串处理
//'*********************************************************
// ' Purpose: 判断输入是否为整数字
// ' Inputs: String
// ' Returns: True, False
//'*********************************************************
function onlynumber(str)
{
var i,strlength,tempchar;
str=CStr(str);
if(str=="") return false;
strlength=str.length;
for(i=0;i<strlength;i++)
{
tempchar=str.substring(i,i+1);
if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9))
{
alert("只能输入数字 ");
return false;
}
}
return true;
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 判断输入是否为数值(包括小数点)
// ' Inputs: String
// ' Returns: True, False
//'*********************************************************
function IsFloat(str)
{ var tmp;
var temp;
var i;
tmp =str;
if(str=="") return false;
for(i=0;i<tmp.length;i++)
{temp=tmp.substring(i,i+1);
if((temp>='0'&& temp<='9')||(temp=='.')){} //check input in 0-9 and '.'
else { return false;}
}
return true;
}
//'*********************************************************
// ' Purpose: 判断输入是否为电话号码
// ' Inputs: String
// ' Returns: True, False
//'*********************************************************
function isphonenumber(str)
{
var i,strlengh,tempchar;
str=CStr(str);
if(str=="") return false;
strlength=str.length;
for(i=0;i<strlength;i++)
{
tempchar=str.substring(i,i+1);
if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar=='-'))
{
alert("电话号码只能输入数字和中划线 ");
return(false);
}
}
return(true);
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 判断输入是否为Email
// ' Inputs: String
// ' Returns: True, False
//'*********************************************************
function isemail(str)
{
var bflag=true
if (str.indexOf("'")!=-1) {
bflag=false
}
if (str.indexOf("@")==-1) {
bflag=false
}
else if(str.charAt(0)=="@"){
bflag=false
}
return bflag
}
//'*********************************************************
// ' Purpose: 判断输入是否含有为中文
// ' Inputs: String
// ' Returns: True, False
//'*********************************************************
function IsChinese(str)
{
if(escape(str).indexOf("%u")!=-1)
{
return true;
}
return false;
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 判断输入是否含有空格
// ' Inputs: String
// ' Returns: True, False
//'*********************************************************
function checkblank(str)
{
var strlength;
var k;
var ch;
strlength=str.length;
for(k=0;k<=strlength;k++)
{
ch=str.substring(k,k+1);
if(ch==" ")
{
alert("对不起 不能输入空格 ");
return false;
}
}
return true;
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 去掉Str两边空格
// ' Inputs: Str
// ' Returns: 去掉两边空格的Str
//'*********************************************************
function trim(str)
{
var i,strlength,t,chartemp,returnstr;
str=CStr(str);
strlength=str.length;
t=str;
for(i=0;i<strlength;i++)
{
chartemp=str.substring(i,i+1);
if(chartemp==" ")
{
t=str.substring(i+1,strlength);
}
else
{
break;
}
}
returnstr=t;
strlength=t.length;
for(i=strlength;i>=0;i--)
{
chartemp=t.substring(i,i-1);
if(chartemp==" ")
{
returnstr=t.substring(i-1,0);
}
else
{
break;
}
}
return (returnstr);
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 将数值类型转化为String
// ' Inputs: int
// ' Returns: String
//'*********************************************************
function CStr(inp)
{
return(""+inp+"");
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 去除不合法字符, ' " < >
// ' Inputs: String
// ' Returns: String
//'*********************************************************
function Rep(str)
{var str1;
str1=str;
str1=replace(str1,"'","`",1,0);
str1=replace(str1,'"',"`",1,0);
str1=replace(str1,"<","(",1,0);
str1=replace(str1,">",")",1,0);
return str1;
}
//'*********************************************************
//'*********************************************************
// ' Purpose: 替代字符
// ' Inputs: 目标String,欲替代的字符,替代成为字符串,大小写是否敏感,是否整字代替
// ' Returns: String
//'*********************************************************
function replace(target,oldTerm,newTerm,caseSens,wordOnly)
{ var wk ;
var ind = 0;
var next = 0;
wk=CStr(target);
if (!caseSens)
{
oldTerm = oldTerm.toLowerCase();
wk = target.toLowerCase();
}
while ((ind = wk.indexOf(oldTerm,next)) >= 0)
{
if (wordOnly)
{
var before = ind - 1;
var after = ind + oldTerm.length;
if (!(space(wk.charAt(before)) && space(wk.charAt(after))))
{
next = ind + oldTerm.length;
continue;
}
}
target = target.substring(0,ind) + newTerm + target.substring(ind+oldTerm.length,target.length);
wk = wk.substring(0,ind) + newTerm + wk.substring(ind+oldTerm.length,wk.length);
next = ind + newTerm.length;
if (next >= wk.length) { break; }
}
return target;
}
//'*********************************************************
几个判断,并强制设置焦点:
//+------------------------------------
// trim 去除字符串两端的空格
String.prototype.trim=function(){return this.replace(/(^ *)|( *$)/g,"")}
//-------------------------------------
// avoidDeadLock 避免设置焦点死循环问题
// 起死原因:以文本框为例,当一个文本框的输入不符合条件时,这时,鼠标点击另一个文本框,触发第一个文本框的离开事件
// ,产生设置焦点动作。现在产生了第二个文本框的离开事件,因此也要设置第二个文本框的焦点,造成死锁。
// 解决方案:设置一个全局对象[key],记录当前触发事件的对象,若其符合条件,则释放该key;若其仍不符合,则key还是指
// 向该对象,别的对象触发不到设置焦点的语句。
/////////////////////////////////////////
// 文本框控制函数
//
/////////////////////////////////////////
var g_Obj = null;// 记住旧的控件
// hintFlag参数:0表示没有被别的函数调用,因此出现提示;1表示被调用,不出现警告信息
// focusFlag参数:指示是否要设置其焦点,分情况:0表示有的可为空;1表示有的不为空
// 避免死锁的公共部分
//+------------------------------------
function textCom(obj, hintFlag)
{
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
}
//-------------------------------------
// 文本框不为空
//+------------------------------------
function TBNotNull(obj, hintFlag)
{
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if (g_Obj.value == "")
{
if (hintFlag == 0)
{
g_Obj.focus();
alert("内容不能为空!");
}
return false;
}
else
g_Obj = null;
return true;
}
//-------------------------------------
// 输入内容为数字
//+------------------------------------
function LetNumber(obj, hintFlag, focusFlag)
{
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if ((g_Obj.value == "") || isNaN(g_Obj.value))
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
alert("输入的内容必须为数字!");
}
return false;
}
else
g_Obj = null;
return true;
}
//-------------------------------------
// 输入内容为整数
//+------------------------------------
function LetInteger(obj, hintFlag, focusFlag)
{
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if (!/^\d*$/.test(g_Obj.value) || (g_Obj.value == ""))
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
alert("输入的内容必须为整数!");
}
return false;
}
else
g_Obj = null;
return true;
}
//-------------------------------------
// 输入内容为字母
//+------------------------------------
function LetLetter(obj, hintFlag, focusFlag)
{
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
if (!/^[A-Za-z]*$/.test(g_Obj.value))
{
if (hintFlag == 0)
{
alert("输入的内容必须为字母!");
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
}
return false;
}
else
{
g_Obj = null;
}
return true;
}
//-------------------------------------
// 内容大于某值
//+------------------------------------
function LetMoreThan(obj, leftNumber, hintFlag, focusFlag)
{
var ifAlert;// 是否出现警告
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if (g_Obj.value == "")
ifAlert = 0;
else
ifAlert = 1;
if ((g_Obj.value == "") || (isNaN(g_Obj.value)) || (g_Obj.value < leftNumber))
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
// 更友好的提示
if (ifAlert == 1)
{
if (leftNumber == 0)
alert("内容必须为非负数!");
else
alert("输入的内容必须" + leftNumber + "以上!");
}
}
return false;
}
else
g_Obj = null;
return true;
}
//-------------------------------------
// 内容大于某值,整数
//+------------------------------------
function LetMoreThan_Int(obj, leftNumber, hintFlag, focusFlag)
{
var ifAlert;// 是否出现警告
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if (g_Obj.value == "")
ifAlert = 0;
else
ifAlert = 1;
if ((g_Obj.value == "") || (isNaN(g_Obj.value) || g_Obj.value < leftNumber) || !/^\d*$/.test(g_Obj.value))
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
{g_Obj = null;}
if (ifAlert == 1)// 当用户不输入的时候,不出现提示
{
// 更友好的提示
if (leftNumber == 0)
alert("内容必须为非负整数!");
else
alert("且必须在" + leftNumber + "以上!");
}
}
return false;
}
else
g_Obj = null;
return true;
}
//-------------------------------------
// 内容小于某值
//+------------------------------------
function LetLessThan(obj, rightNumber, hintFlag, focusFlag)
{
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if ((g_Obj.value == "") || (isNaN(g_Obj.value) || g_Obj.value > rightNumber))
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
alert("输入的内容必须在" + rightNumber + "以下!");
}
return false;
}
else
{g_Obj = null;}
return true;
}
//-------------------------------------
// 内容介于两值中间
//+------------------------------------
function LetMid(obj, leftNumber, rightNumber, hintFlag, focusFlag)
{
var ifAlert;// 是否出现警告
if (g_Obj == null)
g_Obj=event.srcElement;
else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))
{
g_Obj = null;
return;
}
g_Obj.value = g_Obj.value.trim();
if (g_Obj.value == "")
ifAlert = 0;
else
ifAlert = 1;
// 首先应该为数字
if (LetNumber(g_Obj, 1))
{
if (!(LetMoreThan(obj,leftNumber,1,0) && LetLessThan(obj,rightNumber,1,0)))
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
if (ifAlert == 1)// 当用户不输入的时候,不出现提示
alert("输入的内容必须介于" + leftNumber + "和" + rightNumber + "之间!");
}
return false;
}
else
{g_Obj = null;}
}
else
{
if (hintFlag == 0)
{
g_Obj.value = "";
if (focusFlag == 1)
g_Obj.focus();
else
g_Obj = null;
if (ifAlert == 1)
alert("输入的内容必须为数字!\n" +
"且介于" + leftNumber + "和" + rightNumber + "之间!");
}
return false;
}
return true;
}
//-------------------------------------
/////////////////////////////////////////
// 下拉框
/////////////////////////////////////////
// 下拉框,务必选择
//+------------------------------------
function onSelLostFocus(obj)
{
if (g_Obj == null)
{
g_Obj=event.srcElement;
}
else if ((g_Obj!=null) && (g_Obj!=obj))
{
g_Obj = null;
return;
}
if (g_Obj.selectedIndex == 0)
{
g_Obj.focus();
}
else
{
g_Obj = null;
}
}
/*
随风JavaScript函数库
请把经过测试的函数加入库
*/
/********************
函数名称:StrLenthByByte
函数功能:计算字符串的字节长度,即英文算一个,中文算两个字节
函数参数:str,为需要计算长度的字符串
********************/
function StrLenthByByte(str)
{
var len;
var i;
len = 0;
for (i=0;i<str.length;i++)
{
if (str.charCodeAt(i)>255) len+=2; else len++;
}
return len;
}
/********************
函数名称:IsEmailAddress
函数功能:检查Email邮件地址的合法性,合法返回true,反之,返回false
函数参数:obj,需要检查的Email邮件地址
********************/
function IsEmailAddress(obj)
{
var pattern=/^[a-zA-Z0-9\-]+@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3})$/;
if(pattern.test(obj))
{
return true;
}
else
{
return false;
}
}
/********************
函数名称:PopWindow
函数功能:弹出新窗口
函数参数:pageUrl,新窗口地址;WinWidth,窗口的宽;WinHeight,窗口的高
********************/
function PopWindow(pageUrl,WinWidth,WinHeight)
{
var popwin=window.open(pageUrl,"PopWin","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width="+WinWidth+",height="+WinHeight);
return false;
}
/********************
函数名称:PopRemoteWindow
函数功能:弹出可以控制父窗体的原程窗口
函数参数:pageUrl,新窗口地址;
调用方法:打开窗口:<a href="javascript:popRemoteWindow(url);">Open</a>
控制父窗体:opener.location=url;当然还可以有其他的控制
********************/
function PopRemoteWindow(pageUrl)
{
var remote=window.open(url,"RemoteWindow","scrollbars=yes,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,resizable=yes");
if(remote.opener==null)
{
remote.opener=window;
}
}
/********************
函数名称:IsTelephone
函数功能:固话,手机号码检查函数,合法返回true,反之,返回false
函数参数:obj,待检查的号码
检查规则:
(1)电话号码由数字、"("、")"和"-"构成
(2)电话号码为3到8位
(3)如果电话号码中包含有区号,那么区号为三位或四位
(4)区号用"("、")"或"-"和其他部分隔开
(5)移动电话号码为11或12位,如果为12位,那么第一位为0
(6)11位移动电话号码的第一位和第二位为"13"
(7)12位移动电话号码的第二位和第三位为"13"
********************/
function IsTelephone(obj)
{
var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
if(pattern.test(obj))
{
return true;
}
else
{
return false;
}
}
/********************
函数名称:IsLegality
函数功能:检查字符串的合法性,即是否包含" '字符,包含则返回false;反之返回true
函数参数:obj,需要检测的字符串
********************/
function IsLegality(obj)
{
var intCount1=obj.indexOf("\"",0);
var intCount2=obj.indexOf("\'",0);
if(intCount1>0 || intCount2>0)
{
return false;
}
else
{
return true;
}
}
/********************
函数名称:IsNumber
函数功能:检测字符串是否全为数字
函数参数:str,需要检测的字符串
********************/
function IsNumber(str)
{
var number_chars = "1234567890";
var i;
for (i=0;i<str.length;i++)
{
if (number_chars.indexOf(str.charAt(i))==-1) return false;
}
return true;
}
/********************
函数名称:Trim
函数功能:去除字符串两边的空格
函数参数:str,需要处理的字符串
********************/
function Trim(str)
{
return str.replace(/(^ *)|( *$)/g, "");
}
/********************
函数名称:LTrim
函数功能:去除左边的空格
函数参数:str,需要处理的字符串
********************/
function LTrim(str)
{
return str.replace(/(^ *)/g, "");
}
/********************
函数名称:RTrim
函数功能:去除右边的空格
函数参数:str,需要处理的字符串
********************/
function RTrim(str)
{
return this.replace(/( *$)/g, "");
}
/********************
函数名称:IsNull
函数功能:判断给定字符串是否为空
函数参数:str,需要处理的字符串
********************/
function IsNull(str)
{
if(Trim(str)=="")
{
return false;
}
else
{
return true;
}
}
/********************
函数名称:CookieEnabled
函数功能:判断cookie是否开启
********************/
function CookieEnabled()
{
return (navigator.cookieEnabled)? true : false;
}
/*字符串替换方法*/
function StrReplace(srcString,findString,replaceString,start)
{
//code
}
/*客户端HTML编码*/
function HtmlEncode(str)
{
//code
}
/********************************************************************
**
*函数功能:判断是否是闰年*
*输入参数:数字字符串*
*返回值:true,是闰年/false,其它*
*调用函数:*
**
********************************************************************/
function IsLeapYear(iYear)
{
if (iYear+"" == "undefined" || iYear+""== "null" || iYear+"" == "")
return false;
iYear = parseInt(iYear);
varisValid= false;
if((iYear % 4 == 0 && iYear % 100 != 0) || iYear % 400 == 0)
isValid= true;
return isValid;
}
/********************************************************************
**
*函数功能:取出指定年、月的最后一天*
*输入参数:年份,月份*
*返回值:某年某月的最后一天*
*调用函数:IsLeapYear*
**
********************************************************************/
function GetLastDay(iYear,iMonth)
{
iYear = parseInt(iYear);
iMonth = parseInt(iMonth);
variDay = 31;
if((iMonth==4||iMonth==6||iMonth==9||iMonth==11)&&iDay == 31)
iDay = 30;
if(iMonth==2 )
if (IsLeapYear(iYear))
iDay = 29;
else
iDay = 28;
return iDay;
}
/********************************************************************
**
*函数功能:去字符串的头空和尾空*
*输入参数:字符串*
*返回值:字符串/null如果输入字符串不正确*
*调用函数:TrimLeft() 和 TrimRight()*
**
********************************************************************/
function Trim( str )
{
varresultStr ="";
resultStr =TrimLeft(str);
resultStr =TrimRight(resultStr);
return resultStr;
}
/********************************************************************
**
*函数功能:去字符串的头空*
*输入参数:字符串*
*返回值:字符串/null如果输入字符串不正确*
*调用函数:*
**
********************************************************************/
function TrimLeft( str )
{
varresultStr ="";
vari =len= 0;
if (str+"" == "undefined" || str ==null)
return null;
str+= "";
if (str.length == 0)
resultStr ="";
else
{
len= str.length;
while ((i <= len) && (str.charAt(i)== " "))
i++;
resultStr =str.substring(i, len);
}
return resultStr;
}
/********************************************************************
**
*函数功能:去字符串的尾空*
*输入参数:字符串*
*返回值:字符串/null如果输入字符串不正确*
*调用函数:*
**
********************************************************************/
function TrimRight(str)
{
varresultStr ="";
vari =0;
if (str+"" == "undefined" || str ==null)
return null;
str+= "";
if (str.length == 0)
resultStr ="";
else
{
i =str.length - 1;
while ((i >= 0)&& (str.charAt(i) == " "))
i--;
resultStr =str.substring(0, i + 1);
}
return resultStr;
}
/********************************************************************
**
*函数功能:判断输入的字符串是否为数字*
*输入参数:输入的对象*
*返回值:true-数字/false-非数字*
*调用函数:*
**
********************************************************************/
function isNumber(objName)
{
var strNumber = objName.value;
var intNumber;
if(Trim(strNumber) == "")
{
return true;
}
intNumber = parseInt(strNumber, 10);
if (isNaN(intNumber))
{
alert("请输入数字.");
objName.focus();
return false;
}
return true;
}
/********************************************************************
**
*函数功能:判断输入的字符串是否为数字*
*输入参数:输入的对象*
*返回值:true-数字/false-非数字*
*调用函数:*
**
********************************************************************/
function isFloat(objName)
{
var strFloat = objName.value;
var intFloat;
if(Trim(strFloat) == "")
{
return true;
}
intFloat = parseFloat(strFloat);
if (isNaN(intFloat))
{
alert("Please input a number.");
objName.focus();
return false;
}
return true;
}
}
/********************************************************************
**
*函数功能:判断输入的字符串是否为合法的时间*
*输入参数:输入的字符串*
*返回值:true-合法的时间/false-非法的时间*
*调用函数:*
**
********************************************************************/
function checkDate(strDate)
{
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var strSeparator = "-";
var err = 0;
strDateArray = strDate.split(strSeparator);
if (strDateArray.length != 3)
{
err = 1;
return false;
}
else
{
strYear = strDateArray[0];
strMonth = strDateArray[1];
strDay = strDateArray[2];
}
intday = parseInt(strDay, 10);
if (isNaN(intday))
{
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth))
{
err = 3;
return false;
}
intYear = parseInt(strYear, 10);
if(strYear.length != 4)
{
return false;
}
if (isNaN(intYear))
{
err = 4;
return false;
}
if (intMonth>12 || intMonth<1)
{
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
{
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
{
err = 7;
return false;
}
if (intMonth == 2)
{
if (intday < 1)
{
err = 8;
return false;
}
if (LeapYear(intYear) == true)
{
if (intday > 29)
{
err = 9;
return false;
}
}
else
{
if (intday > 28)
{
err = 10;
return false;
}
}
}
return true;
}
/********************************************************************
**
*函数功能:判断是否为闰年*
*输入参数:输入的年*
*返回值:true-是/false-不是*
*调用函数:*
**
********************************************************************/
function LeapYear(intYear)
{
if (intYear % 100 == 0)
{
if (intYear % 400 == 0) { return true; }
}
else
{
if ((intYear % 4) == 0) { return true; }
}
return false;
}
/********************************************************************
*函数功能:*
********************************************************************/
function formDateCheck(year,month,day)
{
var strY = Trim(year);
var strM = Trim(month);
var strD = Trim(day);
var strDate = strY + "-" + strM + "-" + strD;
if((strY + strM + strD) != "")
{
if(!checkDate(strDate))
{
return false;
}
}
return true;
}
/********************************************************************
*函数功能:将form所有输入字段重置*
********************************************************************/
function setFormReset(objForm)
{
objForm.reset();
}
/********************************************************************
*函数功能:计算字符串的实际长度*
********************************************************************/
function strlen(str)
{
var len;
var i;
len = 0;
for (i=0;i<str.length;i++)
{
if (str.charCodeAt(i)>255) len+=2; else len++;
}
return len;
}
/********************************************************************
*函数功能:判断输入的字符串是不是中文*
********************************************************************/
function isCharsInBag (s, bag)
{
var i,c;
for (i = 0; i < s.length; i++)
{
c = s.charAt(i);//字符串s中的字符
if (bag.indexOf(c) > -1)
return c;
}
return "";
}
function ischinese(s)
{
var errorChar;
var badChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|\'\":;~!#$%()`";
errorChar = isCharsInBag( s, badChar)
if (errorChar != "" )
{
//alert("请重新输入中文\n");
return false;
}
return true;
}
/********************************************************************
*函数功能:判断输入的字符串是不是英文*
********************************************************************/
function isCharsInBagEn (s, bag)
{
var i,c;
for (i = 0; i < s.length; i++)
{
c = s.charAt(i);//字符串s中的字符
if (bag.indexOf(c) <0)
return c;
}
return "";
}
function isenglish(s)
{
var errorChar;
var badChar = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
errorChar = isCharsInBagEn( s, badChar)
if (errorChar != "" )
{
//alert("请重新输入英文\n");
return false;
}
return true;
}
function isnum(s)
{
var errorChar;
var badChar = "0123456789";
errorChar = isCharsInBagEn( s, badChar)
if (errorChar != "" )
{
//alert("请重新输入英文\n");
return false;
}
return true;
自动显示TXT文本的内容
把如下代码加入<body>区域中
<script language=vbscript>
Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
</script>
<script language="JavaScript">
var xmlUrl = new ActiveXObject('Microsoft.XMLHTTP');
xmlUrl.Open('GET','1.txt');
xmlUrl.Send();
setTimeout('alert(bytes2BSTR(xmlUrl.ResponseBody))',2000);
</script>
我也来帖几个:
//detect client browse version
function testNavigator(){
var message="系统检测到你的浏览器的版本比较低,建议你使用IE5.5以上的浏览器,否则有的功能可能不能正常使用.你可以到http://www.microsoft.com/china/免费获得IE的最新版本!";
var ua=navigator.userAgent;
var ie=false;
if(navigator.appName=="Microsoft Internet Explorer")
{
ie=true;
}
if(!ie){
alert(message);
return;
}
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))));
if(IEversion< 5.5){
alert(message);
return;
}
}
//detect client browse version
function testNavigator(){
var message="系统检测到你的浏览器的版本比较低,建议你使用IE5.5以上的浏览器,否则有的功能可能不能正常使用.你可以到http://www.microsoft.com/china/免费获得IE的最新版本!";
var ua=navigator.userAgent;
var ie=false;
if(navigator.appName=="Microsoft Internet Explorer")
{
ie=true;
}
if(!ie){
alert(message);
return;
}
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))));
if(IEversion< 5.5){
alert(message);
return;
}
}
//ensure current window is the top window
function checkTopWindow(){
if(window.top!=window && window.top!=null){
window.top.location=window.location;
}
}
//force close window
function closeWindow()
{
var ua=navigator.userAgent;
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false;
if(ie)
{
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))));
if(IEversion< 5.5)
{
var str = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
str += '<param name="Command" value="Close"></object>';
document.body.insertAdjacentHTML("beforeEnd", str);
try
{
document.all.noTipClose.Click();
}
catch(e){}
}
else
{
window.opener =null;
window.close();
}
}
else
{
window.close()
}
}
//tirm string
function trim(s)
{
return s.replace( /^ */, "" ).replace( / *$/, "" );
}
//URI encode
function encode(content){
return encodeURI(content);
}
//URI decode
function decode(content){
return decodeURI(content);
}
这些都我的原创.
打开calendar选择,可以限制是否可选择当前日期后的日期.
//open a calendar window.
function openCalender(ctlValue){
var url="/twms/component/calendar.html";
var param="dialogHeight:200px;dialogWidth:400px;center:yes;status:no;help:no;scroll:yes;resizable:yes;";
var result=window.showModalDialog(url,ctlValue.value,param);
if(result!=null && result!="" && result!="undefined"){
ctlValue=result;
}
}
calendar.html
<html>
<head>
<title>选择日期:</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="/twms/css/common.css" type="text/css" rel="stylesheet">
<script language="JavaScript">
var limit=true;
function runNian(The_Year)
{
if ((The_Year%400==0) || ((The_Year%4==0) && (The_Year%100!=0)))
return true;
else
return false;
}
function getWeekday(The_Year,The_Month)
{
var Allday=0;
if (The_Year>2000)
{
for (i=2000 ;i<The_Year; i++)
{
if (runNian(i))
Allday += 366;
else
Allday += 365;
}
for (i=2; i<=The_Month; i++)
{
switch (i)
{
case 2 :
if (runNian(The_Year))
Allday += 29;
else
Allday += 28;
break;
case 3 : Allday += 31; break;
case 4 : Allday += 30; break;
case 5 : Allday += 31; break;
case 6 : Allday += 30; break;
case 7 : Allday += 31; break;
case 8 : Allday += 31; break;
case 9 : Allday += 30; break;
case 10 : Allday += 31; break;
case 11 : Allday += 30; break;
case 12 : Allday += 31; break;
}
}
}
switch (The_Month)
{
case 1:return(Allday+6)%7;
case 2 :
if (runNian(The_Year))
return (Allday+1)%7;
else
return (Allday+2)%7;
case 3:return(Allday+6)%7;
case 4:return (Allday+7)%7;
case 5:return(Allday+6)%7;
case 6:return (Allday+7)%7;
case 7:return(Allday+6)%7;
case 8:return(Allday+6)%7;
case 9:return (Allday+7)%7;
case 10:return(Allday+6)%7;
case 11:return (Allday+7)%7;
case 12:return(Allday+6)%7;
}
}
function chooseDay(The_Year,The_Month,The_Day)
{
var Firstday;
Firstday = getWeekday(The_Year,The_Month);
showCalender(The_Year,The_Month,The_Day,Firstday);
}
function nextMonth(The_Year,The_Month)
{
if (The_Month==12)
chooseDay(The_Year+1,1,0);
else
chooseDay(The_Year,The_Month+1,0);
}
function prevMonth(The_Year,The_Month)
{
if (The_Month==1)
chooseDay(The_Year-1,12,0);
else
chooseDay(The_Year,The_Month-1,0);
}
function prevYear(The_Year,The_Month)
{
chooseDay(The_Year-1,The_Month,0);
}
function nextYear(The_Year,The_Month)
{
chooseDay(The_Year+1,The_Month,0);
}
function showCalender(The_Year,The_Month,The_Day,Firstday)
{
var Month_Day;
var ShowMonth;
var today= new Date();
//alert(today.getMonth());
switch (The_Month)
{
case 1 : ShowMonth = "一月"; Month_Day = 31; break;
case 2 :
ShowMonth = "二月";
if (runNian(The_Year))
Month_Day = 29;
else
Month_Day = 28;
break;
case 3 : ShowMonth = "三月"; Month_Day = 31; break;
case 4 : ShowMonth = "四月"; Month_Day = 30; break;
case 5 : ShowMonth = "五月"; Month_Day = 31; break;
case 6 : ShowMonth = "六月"; Month_Day = 30; break;
case 7 : ShowMonth = "七月"; Month_Day = 31; break;
case 8 : ShowMonth = "八月"; Month_Day = 31; break;
case 9 : ShowMonth = "九月"; Month_Day = 30; break;
case 10 : ShowMonth = "十月"; Month_Day = 31; break;
case 11 : ShowMonth = "十一月"; Month_Day = 30; break;
case 12 : ShowMonth = "十二月"; Month_Day = 31; break;
}
var tableTagBegin="<Table cellpadding=0 cellspacing=0 border=1 bordercolor=#999999 width=95% align=center valign=top>";
var blankNextTd="<td width=0>>></td>";
var blankPrevTd="<td width=0><<</td>";
var blankDayTd="<td align=center bgcolor=#CCCCCC> </td>";
var nextYearTd="<td width=0 onclick=nextYear("+The_Year+","+The_Month+") style='cursor:hand'>>></td>";
var prevYearTd="<td width=0 onclick=prevYear("+The_Year+","+The_Month+") style='cursor:hand'><<</td>";
var nextMonthTd="<td width=0 onclick=nextMonth("+The_Year+","+The_Month+") style='cursor:hand'>>></td>";
var prevMonthTd="<td width=0 onclick=prevMonth("+The_Year+","+The_Month+") style='cursor:hand'><<</td>";
var valueTdTagBegin="<td width=100 align=center colspan=5>";
var weekTextTr="<Tr align=center bgcolor=#999999>";
weekTextTr+="<td><strong><font color=#0000CC>日</font></strong>";
weekTextTr+="<td><strong><font color=#0000CC>一</font></strong>";
weekTextTr+="<td><strong><font color=#0000CC>二</font></strong>";
weekTextTr+="<td><strong><font color=#0000CC>三</font></strong>";
weekTextTr+="<td><strong><font color=#0000CC>四</font></strong>";
weekTextTr+="<td><strong><font color=#0000CC>五</font></strong>";
weekTextTr+="<td><strong><font color=#0000CC>六</font></strong>";
weekTextTr+="</Tr>";
var text=tableTagBegin;
text+="<Tr>"+prevYearTd+valueTdTagBegin+The_Year+"</td>";
if(limit && (The_Year>=today.getYear()) ){
text+=blankNextTd;
}
else{
text+=nextYearTd;
}
text+="</Tr>";
text+="<Tr>"+prevMonthTd+valueTdTagBegin+The_Month+"</td>";
if(limit && (The_Year>=today.getYear()) && (The_Month>=(today.getMonth()+1)) ){
text+=blankNextTd;
}
else{
text+=nextMonthTd;
}
text+="</Tr>"+weekTextTr;
text+="<Tr>";
for (var i=1; i<=Firstday; i++){
text+=blankDayTd;
}
for (var i=1; i<=Month_Day; i++)
{
var bgColor="";
if ( (The_Year==today.getYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate()) )
{
bgColor = "#FFCCCC";
}
else
{
bgColor = "#CCCCCC";
}
if (The_Day==i)
{
bgColor = "#FFFFCC";
}
if(limit && (The_Year>=today.getYear()) && (The_Month>=(today.getMonth()+1)) && (i>today.getDate()))
{
text+="<td align=center bgcolor='#CCCCCC' >" + i + "</td>";
}
else
{
text+="<td align=center bgcolor=" + bgColor + " style='cursor:hand' onclick=getSelectedDay(" + The_Year + "," + The_Month + "," + i + ")>" + i + "</td>";
}
Firstday = (Firstday + 1)%7;
if ((Firstday==0) && (i!=Month_Day)) {
text += "</Tr><Tr>";
}
}
if (Firstday!=0)
{
for (var i=Firstday; i<7; i++)
{
text+=blankDayTd;
}
text+= "</Tr>";
}
text += "</Table>";
document.all.divContainer.innerHTML=text;
}
function getSelectedDay(The_Year,The_Month,The_Day){
window.returnValue=The_Year + "-" + format(The_Month) + "-" + format(The_Day);
//alert(window.returnValue);
window.close();
}
function format(i){
if(i<10){
return "0"+i;
}
else{
return i;
}
}
function init(){
var args=window.dialogArguments.split("-");
//alert(args);
var year=parseInt(args[0]);
var month=parseInt(args[1]);
var day=parseInt(args[2]);
var firstDay=getWeekday(year,month);
showCalender(year,month,day,firstDay);
}
</script>
</head>
<body style="text-align:center">
<div id="divContainer"/>
<script language=javascript>
init();
</script>
</body>
</html>
//parse the search string,then return a object.
//object info:
//--property:
//----result:a array contained a group of name/value item.the item is nested class.
//--method:
//----getNamedItem(name):find item by name.if not exists,return null;
//----appendItem(name,value):apppend an item into result tail;
//----removetItem(name):remove item which contained in result and named that name.
//----toString():override Object.toString();return a regular query string.
function parseQueryString(search){
var object=new Object();
object.getNamedItem=getNamedItem;
object.appendItem=appendItem;
object.removeItem=removeItem;
object.toString=toString;
object.result=new Array();
function parseItem(itemStr){
var arStr=itemStr.split("=");
var obj=new Object();
obj.name=arStr[0];
obj.value=arStr[1];
obj.toString=toString;
function toString(){
return obj.name+"="+obj.value;
}
return obj;
}
function appendItem(name,value){
var obj=parseItem(name+"="+value);
object.result[object.result.length]=obj;
}
function removeItem(name){
var j;
for(j=0;j<object.result.length;j++){
if(object.result[j].name==name){
object.result.replice(j,1);
}
}
}
function getNamedItem(name){
var j;
for(j=0;j<object.result.length;j++){
if(object.result[j].name==name){
return object.result[j];
}
}
return null;
}
function toString(){
var k;
var str="";
for(k=0;k<object.result.length;k++){
str+=object.result[k].toString()+"&";
}
return str.substring(0,str.length-1);
}
var items=search.split("&");
var i;
for(i=0;i<items.length;i++){
object.result[i]=parseItem(items[i]);
}
return object;
}
关闭窗体[无须修改][共1步]
====1、将以下代码加入HEML的<body></body>之间:
<script language="JavaScript">
function shutwin(){
window.close();
return;}
</script>
<a href="javascript:shutwin();">关闭本窗口</a>
检测系统信息
<script language="JavaScript" type="text/javascript">
<!--
var newline = "\r\r"
var now = new Date()
var millinow=now.getTime()/1000
var hours = now.getHours()
var minutes = now.getMinutes()
var seconds = now.getSeconds()
var yourLocation=""
now.setHours(now.getHours()+1)
var min=60*now.getUTCHours()+now.getUTCMinutes() + now.getUTCSeconds()/60;
var internetTime=(min/1.44)
internetTime="Internet Time: @"+Math.floor(internetTime)
var clock = "It's exactly "+hours+":"+minutes+":"+seconds+" hours"
var browser = "You are using " + navigator.appName +" "+navigator.appVersion
yourLocation="You are probably living in "+yourLocation
var winwidth= window.screen.width
var winheight= window.screen.height
var screenresolution= "Screen resolution: "+window.screen.width+" x "+window.screen.height
var lastdoc = "You came from: "+document.referrer
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function Who(info){
var VisitorName = GetCookie('VisitorName')
if (VisitorName == null) {
VisitorName = "stranger";
SetCookie ('VisitorName', VisitorName, exp);
}
return VisitorName;
}
function When(info){
// When
var rightNow = new Date()
var WWHTime = 0;
WWHTime = GetCookie('WWhenH')
WWHTime = WWHTime * 1
var lastHereFormatting = new Date(WWHTime); // Date-i-fy that number
var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) +
lastHereFormatting.getDate()
var lastHereInDateFormat = "" + lastHereFormatting; // Gotta use substring functions
var dayOfWeek = lastHereInDateFormat.substring(0,3)
var dateMonth = lastHereInDateFormat.substring(4,11)
var timeOfDay = lastHereInDateFormat.substring(11,16)
var year = lastHereInDateFormat.substring(23,25)
var WWHText = dayOfWeek + ", " + dateMonth + " at " + timeOfDay // display
SetCookie ("WWhenH", rightNow.getTime(), exp)
return WWHText;
}
function Count(info){
var psj=0;
// How many times
var WWHCount = GetCookie('WWHCount')
if (WWHCount == null) {
WWHCount = 0;
}
else{
WWHCount++;
}
SetCookie ('WWHCount', WWHCount, exp);
return WWHCount;
}
function set(){
VisitorName = prompt("Who are you?");
SetCookie ('VisitorName', VisitorName, exp);
SetCookie ('WWHCount', 0, exp);
SetCookie ('WWhenH', 0, exp);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
// This cookie is history
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var countvisits="You've been here " + Count() + " time(s). Last time was " + When() +"."
if (navigator.javaEnabled()) {
var javaenabled="Your browser is able to run java-applets";
}
else {
var javaenabled="Your browser is not able to run java-applets";
}
function showAlert() {
var later = new Date()
var millilater=later.getTime()/1000
var loadTime=(Math.floor((millilater-millinow)*100))/100
var loadTimeResult= "It took you "+loadTime+" seconds to load this page"
var babiesborn=Math.ceil(loadTime*4.18)
var babiesbornresult="While this page was loading "+babiesborn+" babies have been born"
if (babiesborn==1){babiesbornresult="While this page was loading "+babiesborn+" baby has been born"}
alert
(newline+newline+browser+newline+clock+newline+loadTimeResult+newline+internetTime+newline+screenresolution+newline+lastdoc+newline+countvisits+newline+javaenabled+newline+babiesbornresult+newline+newline)
}
// --></script>
<body onLoad="showAlert()">
密码保护:
将以下代码加入HEML的<body></body>之间:
相关推荐
AI脸部替换Roop-Unleashed,一键整合包教程
Roop-Unleashed是一个无须训练模型的深度伪造工具,专为图像和视频的面部替换而设计。它通过简洁的浏览器界面提供用户友好且跨平台的使用体验,无论用户是业余爱好者还是专业人士,都能快速上手。它无需复杂的设置即可实现高效的处理和转换,使图像和视频的编辑变得更加轻松和便捷。
JavaScript常用前端框架和库浅谈_前端框架设计-js
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。较、计算等。* 注意Moment.js的日期格式,使用合适的格式字符串进行日期的格式化和解析。技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。
Hermes+MemOS记忆系统:用SQLite构建可编辑AI个人认知资产
AI记忆不是简单延长上下文或叠加RAG,而是构建具备分层存储、混合检索与自然语言反馈能力的个人认知资产。其核心原理在于将用户交互痕迹(L1)、偏好策略(L2)、结构化世界模型(L3)和结晶化技能统一管理,实现记忆的可追溯、可修正、可进化。技术价值体现在降低token消耗、提升长程一致性、支持离线演进,并突破传统‘静态快照’式知识库局限。典型应用场景包括个人知识助手、客服工单分析Agent、研发文档理解系统等。本文聚焦Hermes Agent与MemOS深度集成方案,详解SQLite作为ACID底座支撑L1/
JavaScript常用前端框架和库浅谈_前端框架设计-js(1)
除了前端框架之外,JavaScript库也是前端开发中常用的工具。以上这些JavaScript库都是前端开发中常用的工具,它们提供了丰富的功能以及易于使用的API接口,使得开发人员可以更轻松地处理常见的任务和增加网页的交互性。掌握这些库将有助于提高开发效率和增强用户体验。常用JavaScript库的简单使用方法:on()$.ajax()_.map()importimport.then().catch()moment().format()
千兆以太网PHY设计:PCB原理图完整示例
深入解析千兆以太网PHY电路设计要点,提供完整的PCB原理图设计实例,帮助工程师掌握高速信号布局与电源去耦等关键技术,提升设计稳定性与信号完整性。
【异常】Cursor编辑器 “Taking longer than expected...“ 报错全链路排查与解决方案
该提示并非传统的程序崩溃或语法报错,本质是Cursor编辑器的超时预警机制——当核心任务(云端AI推理请求、本地项目索引等)的执行耗时超出系统预设阈值时,触发的用户告知类提示,核心诱因是任务执行全链路出现阻塞或性能瓶颈。以下方案按排查优先级从高到低排序,覆盖从快速急救到根因根治的全流程,可按步骤逐步验证解决。针对大仓库、多依赖项目的索引超时问题,核心是通过规则过滤无效文件,从根源降低索引负载。
【JavaScript】Js中一些数组常用API总结
Js中数组是一个重要的数据结构,它相比于字符串有更多的方法,在一些算法题中我们经常需要将字符串转化为数组,使用数组里面的API进行操作。本篇文章总结了一些数组中常用的API,我们把它们分成两类,一类是会改变原始数组,一类是不会改变原始数组;一起来看一下吧。
LangChain4j + MCP:从工具协议到生产级 Agent
这两年,很多团队都已经把「大模型问答」接入到系统里了:前端一个输入框,后端调一下 OpenAI / DeepSeek / 本地模型,返回一段回答——这类 「简单问答型」AI 功能它只能说,不会做:不会主动查数据库,不会调用你的接口,不会帮你真正执行脚本;面对复杂一点的需求,比如「帮我生成这个报表的 SQL 并执行一下」,普通 ChatGPT 式的问答就开始力不从心了。而Agent 智能体想解决的,就是这件事:不只是回答你「怎么做」,而是能自己思考、自己决定要不要用工具、再用工具把事做完。
【Javascript】JS中对于数组的常用操作汇总
在实际应用中,经常需要根据具体需求编写比较函数来实现自定义排序逻辑,比如按照对象的某个属性排序对象数组。map()、find()、some()、sort()
串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE
一文搞定,赶紧收藏吧
ardupilot开发 --- Remote ID 篇
适配ardupilot的Remote ID模块研发,远程标识模块研发。Remote ID模块可以通过蓝牙或wifi向外广播无人机的状态信息、位置信息、任务信息等,并可以通过蜂窝数据向国家无人驾驶航空器一体化综合监管服务平台上报这些信息。Remote ID功能是21年起国家出台的民用无人机适航飞行的基本要求!
[JavaScript] 常用JS脚本
打开F12,打开控制台Console,输入以下代码即可一键邀请。绑定动态ID:footer。
企业AI选型大揭秘:扣子(Coze) Bot与微信对话开放平台深度剖析
本文对比分析了字节跳动的扣子(Coze)Bot和腾讯的微信对话开放平台两款AI聊天机器人解决方案。扣子(Coze)Bot凭借强大的大模型支持、丰富的插件生态、低代码开发及多平台部署能力,在功能丰富度和灵活性方面表现突出,适合技术实力强、业务场景复杂的企业。微信对话开放平台则依托微信生态优势,在客户服务和营销推广场景中更具优势,其零门槛接入方式更适合技术能力较弱的企业。企业在选型时应综合考虑规模、预算、业务场景和技术能力等因素,选择最适合的AI解决方案,以充分发挥AI技术价值,提升企业竞争力。
前端JavaScript——js声明定义数组及常用操作
数组的声明: 1、在js中,数组的声明不需要指定其长度 2、在js中,数组可以存放不同类型的数据(一般要求数据中采访同类型的数据) js定义数组: 空数组 一般常用这种形式,数组元素的定义使用[] var arr=[]; var arr1=[9,5,2,7]; 还有一种声明形式; var arr=new array(); 对象数组 var arr2=[{Name:"小牧童",Age:12},{Name:"小蜗牛",Age:9}]; 访问数组: 数组元素的访问(同样使用下标进行访问) 比
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
深度学习工具包 DeepLearningToolbox
深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[](https://bitdeli.com/free "Bitdeli Badge")
JavaScript 常用Js -个人收藏
JavaScript 常用 Js 最近查看ES5、ES6、ES7、ES8 区别时,发现一些Js常用的写法,比较便捷。借此收藏一些语句,便于日后使用。 //将两个数组连接合并为一个 let arrA =[10,20,30] let arrB = [40,50,60] let arrC = [...arrA,...arrB] //数组去掉重复项 let arrD = [30,30,40,40,50,50] let arrE =[...new Set(arrD)] //查找索引 [10,20,30].i
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
Javascript基础——不常用但很有用的js函数
1.1. JavaScript函数 这部分对Extjs中常用的几个JavaScript参数和函数进行说明,它们是arguments、call、apply、caller、callee。这几个函数在普通的JavaScript编程中很少使用,但在Extjs的源码中却经常会碰到,所以先熟悉这几个函数对Extjs的学习有很大的帮助。 1.1.1. arguments arguments是JavaScript函数的隐含对象,它代表正在执行的函数和调用该函数时传入的参数。arguments中存储的是调用该函数时实际
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
javascript framework js常用框架
js常用框架 一.node.js 二.angularjs.js 三.react.js 四.webpack.js 五.flux.js 六.vue.js 七.bootstrap 转载于:https://www.cnblogs.com/zlp520/p/5809442.html...
【JavaScript 】常用JS 验证
【JavaScript 】常用JavaScript 验证1、长度限制2、只能是汉字3、只能是英文字母4、只能是数字5、 只能是英文字母和数字6、检验时间大小(与当前时间比较)7、屏蔽关键字(这里屏蔽*和**)8、两次输入密码是否相同9、表单项不能为空10、邮箱验证11、验证手机号12、验证×××号码(需是有效×××)13、日期验证 1、长度限制 <form name="a" onsubmit...
JavaScript学习总结(9)——JS常用函数(一)
2019独角兽企业重金招聘Python工程师标准>>> ...
【JavaScript】基础内容,HTML如何引用JavaScript, JS 常用的数据类型
注意数组返回是:object。
js常用函数_JavaScript中常用的输入输出函数
作为刚踏进js大门的新手,首先必须掌握js中有哪些常用的输入输出函数,下面我为大家介绍我们常用的4种输入输出函数,警告窗函数alert(),输出函数document.write(),提示对话函数prompt(),confirm()函数。1. 警告窗函数alert(“要输出的信息”)此函数只有一个参数,参数可以是字符串、变量或者表达式。如下:(1) alert(“你喜欢JavaScript吗”);(...
【javascript】js常用面试题总结
1、写出下面打印语句输出 console.log(['10','10','10','10','10'].map(parseInt)); console.log(['1', '2', '3'].map(parseInt)); //输出: [10, NaN, 2, 3, 4] [1, NaN, NaN] //解析: /*parseInt(string,radix):将radix进制数转为10进制 ...
1万+



被折叠的 条评论
为什么被折叠?



