1、将字符转换成数据
1)return str*1+1;
2)return parseInt(str);//return parseFloat(str);
3)new Number(str);
2、parentElement和parentNode区别
第一个是ie dom,第二个是标准dom;换一个非ie浏览器试试就知道区别了(myie或maxthon或greenbrowser或tt之类都是ie浏览器……)
3、JS中的trim()——去前后的空格
function String.prototype.trim(){return this.replace(/(^/s*)|(/s*$)/g,"");}
使用:" test str ".trim();返回结果:"test str";
4、报错:missing ( before function parameters
不知道为什么,放到struts中会报这样的错,在其他工程下不会报错,估计是JS格式不对;
例如:把function String.prototype.trim(){return this.replace(/(^/s*)|(/s*$)/g,"");}修改为:
String.prototype.trim=function() {return this.replace(/(^/s*)|(/s*$)/g,"");}这样就不会报错了。
5、window.showModalDialog不缓存
在Sturts的Action中加入:
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
6、类似与Java中的startWith()和endWith()方法
String.prototype.endWith=function(str){ String.prototype.startWith=function(str){ |
7、限制录入的分数只能在(0~100之间),而且最多为一位小数,且小数的数字只能为0或者5
String.prototype.limitDigit=function(){//限制最多为1位小数(返回值true/false) var parttern=/^(/d+)(/.{0|5})?$/; return parttern.test(this.replace(/(^/s*)|(/s*$)/g,"")); } |
8、String有个属性length,但是它不能区分英文字符,计算中文字符和全角字符。但是在数据存储的时候中文和全角都是用两个字节来存储的,所有需要额外处理一下。自己写了个函数,返回String正真的长度:
String.prototype.codeLength=function(){ var len=0; if(this==null||this.length==0) return 0; var str=this.replace(/(^/s*)|(/s*$)/g,"");//去掉空格 for(i=0;i<str.length;i++) if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128) len++; else len+=2; return len; } |
9、彻底屏蔽鼠标右键
<body oncontextmenu="window.event.returnValue=false">
或者:<body oncontextmenu="self.event.returnValue=false">
或者:<body oncontextmenu="return false">
10、防止剪切,复制,粘贴
<body oncopy="return false" oncut="return false" onpaste="return false">
11、关闭输入法
<input type="text/password" style="ime-mode:disabled">
<textarea style="ime-mode:disabled"></textarea>
12、防止被人frame(盗链)
<script> if(top.location!=self.location) top.location=self.location; </script> |
13、网页不能被另存为
<noscript><iframesrc=*.html></iframe></noscript> |
14、按TAB键移动到下一个输入框时,光标停在文本框文字的最后,方便用户继续输入
<script> function moveEnd() { var e=event.srcElement; var r=e.createTextRange(); r.moveStart('character',e.value.length); r.collapse(true); r.select(); } </script> <input type='text' value='0592' onfocus="moveEnd()"> |
15、判断上一页的来源(无效)
document.referrer
16、最小化、最大化、关闭窗口(关闭窗口:无效)
<object id='winMin' classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Minimize"></object> <object id='winMax' classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Maximize"></object> <object id='winClo' classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <param name="Command" value="Close"></object> <input type='button' value='最小化' onclick=winMin.Click()> <input type='button' value='最大化' onclick=winMax.Click()> <input type='button' value='关闭' onclick=winClo.Click()> |
17、parseInt()
parseInt("8")和parseInt("08")得到的结果是不一样的,前者得到"8"后者得到"0"。为什么? 语法:parseInt(numstring, [radix]) 描述:numstring 必选项。要转换为数字的字符串。radix 可选项。在 2 和 36 之间的表示 numstring 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。 现在再回过来看,parseInt("08")用的是八进制,转换出错,所有得到"0"。 所有parseInt("8")和parseInt("08",10)得到的结果是一样的 |
18、限制只能输入数字
只输入数字:<input type="text" size="25" onkeyup="value=value.replace(/[^/d]/g,'')"/>
Email:onkeyup="value=value.replace(/[^/w|-|@|.]/g,'')"
19、
onpropertychange能及时捕获属性值的变化
onkeyup事件,是在键盘按键松开时触发的
onchange事件是在文本框获得光标前的值被改变(没有改变时不会触发),离开文本框时触发的