有个pub库放在blog的文件夹里面了,注意查查
1.用javascript去除字符串左右空格,包括全角和半角
2 检查字符串的字符(忽略全半角)长度
3.弹出新窗口后,按ESC退出
1.用javascript去除字符串左右空格,包括全角和半角
//用javascript去除字符串左右空格,包括全角和半角
String.prototype.trim = function() { //其中表示为:对象.属性.方法=函数方法
var strTrim = this.replace(/(^\s*)|(\s*$)/g, "");
strTrim = strTrim.replace(/^[\s \t]+|[\s \t]+$/, "");
return strTrim;
}
String.prototype.trim = function() { //其中表示为:对象.属性.方法=函数方法
var strTrim = this.replace(/(^\s*)|(\s*$)/g, "");
strTrim = strTrim.replace(/^[\s \t]+|[\s \t]+$/, "");
return strTrim;
}
2 检查字符串的字符(忽略全半角)长度
functionchkByteLen(str){
return str.replace(/[^\x00-\xff]/g," ").length)
}
return str.replace(/[^\x00-\xff]/g," ").length)
}
3.弹出新窗口后,按ESC退出
document.οnkeydοwn= keyDown;
function keyDown()
{
var kc = event.keyCode;
// 按esc退出
if (kc == 27)
{
self.close();
}
// 回车键
if (event.keyCode == 13)
{
document.getElementById("btnSave").click();
}
if (kc == 37 || kc == 33) // arrow left
{
document.getElementById("btnPrev").click();
}
if (kc == 39 || kc == 34) // arrow right
{
document.getElementById("btnNext").click();
}
}
function keyDown()
{
var kc = event.keyCode;
// 按esc退出
if (kc == 27)
{
self.close();
}
// 回车键
if (event.keyCode == 13)
{
document.getElementById("btnSave").click();
}
if (kc == 37 || kc == 33) // arrow left
{
document.getElementById("btnPrev").click();
}
if (kc == 39 || kc == 34) // arrow right
{
document.getElementById("btnNext").click();
}
}
4. 正确截取单字节和双字节混和字符串
/**//*************************************************************
Author : Yanfu Xie <xieyanfu@yahoo.com.cn>
Url : http://www.yitu.org
Description : 正确截取单字节和双字节混和字符串
String str : 要截取的字符串
Number : 截取长度
*************************************************************/
functionsubstr(str, len) {
if(!str || !len) { return ''; }
//预期计数:中文2字节,英文1字节 var a = 0;
//循环计数
var i = 0;
//临时字串
var temp = '';
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255){
//按照预期计数增加2
a+=2;
}
else{
a++;
}
//如果增加计数后长度大于限定长度,就直接返回临时字符串
if(a > len) {
return temp;
}
//将当前内容加到临时字符串
temp += str.charAt(i);
}
//如果全部是单字节字符,就直接返回源字符串
return str;
}
Author : Yanfu Xie <xieyanfu@yahoo.com.cn>
Url : http://www.yitu.org
Description : 正确截取单字节和双字节混和字符串
String str : 要截取的字符串
Number : 截取长度
*************************************************************/
functionsubstr(str, len) {
if(!str || !len) { return ''; }
//预期计数:中文2字节,英文1字节 var a = 0;
//循环计数
var i = 0;
//临时字串
var temp = '';
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255){
//按照预期计数增加2
a+=2;
}
else{
a++;
}
//如果增加计数后长度大于限定长度,就直接返回临时字符串
if(a > len) {
return temp;
}
//将当前内容加到临时字符串
temp += str.charAt(i);
}
//如果全部是单字节字符,就直接返回源字符串
return str;
}
5. 只允许文本框内输入中英数字下划线
<asp:TextBox id="tbAlbumName" runat="server" onkeyup="value=value.replace(/[^\u4E00-\u9FA50-9a-zA-Z_]/g,'')" MaxLength="12" Width="250px">
http://bbs.blueidea.com/viewthread.php?tid=539508&page=6. 页面及图片载入进度条
document.write('<div id="loadDiv"><table align=center width=300><tr><td><br><br><br><br><br><br><br><br><br><br><br><br>' +
'<img valign="middle" src="/images/ii_loading045.gif" align="absmiddle" border="0"> <span class="cx6_big">正在加载图片,请稍候<span id="loading"></span></span></td></tr></table></div>' +
'<div id="hiddenDiv" style="display: none">');
var setInterval1 = setInterval("loading.innerText += '.'", 400);
var setInterval2 = setInterval("loading.innerText = ''", 10000);
var setInterval2 = setInterval("loading.innerText = ',<br><span style=\"font-color:yellow;\">载入过慢,请检查您的网络连接速度。</span>'", 500000);
function window.onload()
{
var hiddenDiv = document.getElementById("hiddenDiv");
var loadDiv = document.getElementById("loadDiv");
hiddenDiv.style.display="inline"; //显示页面内容
if (loadDiv != null) {loadDiv.removeNode(true);}
clearInterval(setInterval1);
clearInterval(setInterval2);
}
'<img valign="middle" src="/images/ii_loading045.gif" align="absmiddle" border="0"> <span class="cx6_big">正在加载图片,请稍候<span id="loading"></span></span></td></tr></table></div>' +
'<div id="hiddenDiv" style="display: none">');
var setInterval1 = setInterval("loading.innerText += '.'", 400);
var setInterval2 = setInterval("loading.innerText = ''", 10000);
var setInterval2 = setInterval("loading.innerText = ',<br><span style=\"font-color:yellow;\">载入过慢,请检查您的网络连接速度。</span>'", 500000);
function window.onload()
{
var hiddenDiv = document.getElementById("hiddenDiv");
var loadDiv = document.getElementById("loadDiv");
hiddenDiv.style.display="inline"; //显示页面内容
if (loadDiv != null) {loadDiv.removeNode(true);}
clearInterval(setInterval1);
clearInterval(setInterval2);
}
<div id="hiddenDiv">
<TABLE id="Table1" height="100%" cellSpacing="2" cellPadding="0" width="100%" border="0">
<tr>
<TD vAlign="middle" align="center"><asp:image id="img" style="CURSOR: hand" runat="server" ImageAlign="AbsMiddle"BorderColor="#454748"
BorderWidth="1" tooltip="点击查看下一张" onerror="this.src='/images/tu_xiangce.gif'"></asp:image><asp:label id="lblNoImg" runat="server" Visible="False" CssClass="cx6_big"><br><br>已到最前或最后,没有图片可显示。<br><br><br><br></asp:label><br>
<br style="LINE-HEIGHT: 5px">
<asp:button id="btnPrev" runat="server" tooltip="按左方向键或向上键查看" CssClass="kuan_list"Text="前一张"
style="Height:18"></asp:button><INPUT class="kuan_list" title="按ESC关闭" style="HEIGHT: 18px"οnclick="javascript:window.close();"
type="button" value=" 关 闭 "><INPUT class="kuan_list" title="" style="HEIGHT: 18px"οnclick="javascript:downloadFile();"
type=button value=" 下载原图 "><asp:button id="btnNext" runat="server" tooltip="按右方向键或向下键查看" CssClass="kuan_list"Text="后一张"
style="Height:18"></asp:button></TD>
</tr>
</TABLE>
</div>
http://www.yaosansi.com/blog/article.asp?id=484 <TABLE id="Table1" height="100%" cellSpacing="2" cellPadding="0" width="100%" border="0">
<tr>
<TD vAlign="middle" align="center"><asp:image id="img" style="CURSOR: hand" runat="server" ImageAlign="AbsMiddle"BorderColor="#454748"
BorderWidth="1" tooltip="点击查看下一张" onerror="this.src='/images/tu_xiangce.gif'"></asp:image><asp:label id="lblNoImg" runat="server" Visible="False" CssClass="cx6_big"><br><br>已到最前或最后,没有图片可显示。<br><br><br><br></asp:label><br>
<br style="LINE-HEIGHT: 5px">
<asp:button id="btnPrev" runat="server" tooltip="按左方向键或向上键查看" CssClass="kuan_list"Text="前一张"
style="Height:18"></asp:button><INPUT class="kuan_list" title="按ESC关闭" style="HEIGHT: 18px"οnclick="javascript:window.close();"
type="button" value=" 关 闭 "><INPUT class="kuan_list" title="" style="HEIGHT: 18px"οnclick="javascript:downloadFile();"
type=button value=" 下载原图 "><asp:button id="btnNext" runat="server" tooltip="按右方向键或向下键查看" CssClass="kuan_list"Text="后一张"
style="Height:18"></asp:button></TD>
</tr>
</TABLE>
</div>
7. 处理下拉框的增加及删除Item
//给下拉框增加项
function insertOption(obj, _text, _value, _selected){
// 如果存在此VALUE,则编辑
for (var i=0; i< obj.length; i++){
if (obj[i].value == _value){
obj[i].text = _text;
return;
}
}
// 若不存在此VALUE,新建
var _option = document.createElement("OPTION");
_option.text = _text;
_option.value = _value;
_option.selected = _selected;
obj.add(_option);
}
//给下拉框去除某项
function delOption(obj,_value){
for (var i=0; i< obj.length; i++){
if (obj[i].value == _value){
obj.remove(i);
return;
}
}
}
function insertOption(obj, _text, _value, _selected){
// 如果存在此VALUE,则编辑
for (var i=0; i< obj.length; i++){
if (obj[i].value == _value){
obj[i].text = _text;
return;
}
}
// 若不存在此VALUE,新建
var _option = document.createElement("OPTION");
_option.text = _text;
_option.value = _value;
_option.selected = _selected;
obj.add(_option);
}
//给下拉框去除某项
function delOption(obj,_value){
for (var i=0; i< obj.length; i++){
if (obj[i].value == _value){
obj.remove(i);
return;
}
}
}
8. 显示你输入了多少还可以输入多少的方法
onpropertychange=xxx(this,200,"lblMsg")
//检查输入的字数限制 (ELVA)
// obj: textbox对象
// maxLen: 限制的长度
// showBoxID: 显示文字信息的span等容器对象的ID
function checkMaxInput(obj, maxLen, showBoxID)
{
var showBox = document.getElementById(showBoxID);
if(obj.value.length>maxLen)
{
obj.value = obj.value.substring(0,maxLen);
showBox.innerHTML="<span class=cx5>你输入的内容超出了字数限制</span>";
}
else
{
showBox.innerHTML='<span class=cx3>您已经输入了</span><span class=cx5>' + obj.value.length + '</span><span class=cx3>字, 还剩下<span class=cx5>'+(maxLen-obj.value.length)+'</span>字';
}
}
// obj: textbox对象
// maxLen: 限制的长度
// showBoxID: 显示文字信息的span等容器对象的ID
function checkMaxInput(obj, maxLen, showBoxID)
{
var showBox = document.getElementById(showBoxID);
if(obj.value.length>maxLen)
{
obj.value = obj.value.substring(0,maxLen);
showBox.innerHTML="<span class=cx5>你输入的内容超出了字数限制</span>";
}
else
{
showBox.innerHTML='<span class=cx3>您已经输入了</span><span class=cx5>' + obj.value.length + '</span><span class=cx3>字, 还剩下<span class=cx5>'+(maxLen-obj.value.length)+'</span>字';
}
}
9. 字符串的截取,忽略全半角
function substrB(str, len) {
// if(!str || !len) { return ''; }
//预期计数:中文2字节,英文1字节
var a = 0;
//循环计数
var i = 0;
//临时字串
var temp = '';
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255){
//按照预期计数增加2
a+=2;
}
else{
a++;
}
//如果增加计数后长度大于限定长度,就直接返回临时字符串
if(a > len) {
return temp;
}
//将当前内容加到临时字符串
temp += str.charAt(i);
}
//如果全部是单字节字符,就直接返回源字符串
return str;
}
//文本框的输入限制(ELVA)
// isLimited: bool
function boxLength(box,maxLength,isLimited){
// 限制为只允许数字大小英文下划线空格和点
if (isLimited) {box.value= box.value.replace(/[^\u4E00-\u9FA50-9a-zA-Z_ .]/g,'');}
if (getByteLen(box.value) > maxLength){
box.value = substrB(box.value, maxLength);
return false;}
}
//取得字符串的字节长度(ELVA)
function getByteLen(str){
return str.replace(/[^\x00-\xff]/g,"xx").length;
}
// if(!str || !len) { return ''; }
//预期计数:中文2字节,英文1字节
var a = 0;
//循环计数
var i = 0;
//临时字串
var temp = '';
for (i=0;i<str.length;i++){
if (str.charCodeAt(i)>255){
//按照预期计数增加2
a+=2;
}
else{
a++;
}
//如果增加计数后长度大于限定长度,就直接返回临时字符串
if(a > len) {
return temp;
}
//将当前内容加到临时字符串
temp += str.charAt(i);
}
//如果全部是单字节字符,就直接返回源字符串
return str;
}
//文本框的输入限制(ELVA)
// isLimited: bool
function boxLength(box,maxLength,isLimited){
// 限制为只允许数字大小英文下划线空格和点
if (isLimited) {box.value= box.value.replace(/[^\u4E00-\u9FA50-9a-zA-Z_ .]/g,'');}
if (getByteLen(box.value) > maxLength){
box.value = substrB(box.value, maxLength);
return false;}
}
//取得字符串的字节长度(ELVA)
function getByteLen(str){
return str.replace(/[^\x00-\xff]/g,"xx").length;
}
10. 获取某控件下面的已知名称的控件集合:parentObj.all.namedItem(objID);
11. 简化由string得到对象的方法
function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length; i++)
elements.push($(arguments[i]));
return elements;
}
if (typeof element == 'string')
element = document.getElementById(element);
return element;
}
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length; i++)
elements.push($(arguments[i]));
return elements;
}
if (typeof element == 'string')
element = document.getElementById(element);
return element;
}
12. 这种蛮有趣,重载了Trim()
String.prototype.trim =function()
{
return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
}
{
return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
}
13.Jscrip获取Querystring
//得到页面参数值
function getQueryString(param){
var defaultValue="";
if(window.location.search==""){
return "";
}
var url=window.location.search.substr(1);
var params=url.split("&");
for(elem in params){
var current=(params[elem]);
var idx=current.indexOf("=");
if(idx>0){
var left=current.substr(0,idx);
var right=current.substr(idx+1);
//alert(left+","+right);
if(left.toLowerCase()==param.toLowerCase()){
return right;
}
}
}
return defaultValue;
}
function getQueryString(param){
var defaultValue="";
if(window.location.search==""){
return "";
}
var url=window.location.search.substr(1);
var params=url.split("&");
for(elem in params){
var current=(params[elem]);
var idx=current.indexOf("=");
if(idx>0){
var left=current.substr(0,idx);
var right=current.substr(idx+1);
//alert(left+","+right);
if(left.toLowerCase()==param.toLowerCase()){
return right;
}
}
}
return defaultValue;
}
14. 得到某月的当月天数
var dt = new Date(); //得到当前时间
dt = new Date(dt.getFullYear(), dt.getMonth() + 1, 0); //得到本月最后一天
alert(dt.getDate()); // 本月最后一天即为本月的天数
dt = new Date(dt.getFullYear(), dt.getMonth() + 1, 0); //得到本月最后一天
alert(dt.getDate()); // 本月最后一天即为本月的天数
日历的JS代码:http://www.taoshaw.com/blog/article.asp?id=1171
里面有很多JS的时间代码,很有用喔