最近的文章列表

js中用正则表达式计算中文长度的例子

由于javascript是unicode编码的,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序中一个中文是占两个字节的,这就导致了前后端校验长度不一致,这个问题可以通过正则来解决。

代码如下:

function getRealLen( str ) {
    return str.replace(/[^\x00-\xff]/g, '__').length; //这个把所有双字节的都给匹配进去了
}


2014/6/6 Comments:
“脚本运行时间过长” 常见浏览器多长时间会提示这个的总结

现在的web,影响用户访问速度已经不单单是文件下载的速度了,当所有的文件从服务器上下载后,从浏览器开始渲染到用户可以响应的时间,这段时间仍然会消耗很长,同时由于交互的复杂,javascript也变得越来越多,越来越复杂,脚本运行的时间反映在界面上就是响应用户输入点击的过慢,甚至浏览器出现脚本超时的提示。

这篇文件并不打算讲怎么避免这种超时以及javascript的优化技巧,单说各种浏览器的忍耐极限,下面是Nicholas C. Zakas总结的数据

Chrome:执行超过8秒提示。
IE:执行超过500万条Javascript语句时出现提示。
Firefox:执行超过10秒出现提示。
Safari:执行超过5秒出现提示。

2014/6/6 Comments:
利用javascirpt函数定时器 实现定时读取系统实时连接数
代码如下:

function GetDeviceInfo()
{
setInterval(function()
{
GetDeviceRealtimeConnect(); //js调取实时连接数的函数
},
1000/*启动间隔,单位ms*/

);
}
2014/6/3 Comments:
用json方式实现在javascript中建立一个map

建立map的方式(其实用的是json实现方式)

代码如下:

var a = {};
a["key1"] = "value1";
a["key2"] = "value2";


既然是个map就有检索某个键是否存在的方法,这样写 

2014/6/3 Comments:
javascript弹出新页面避免被浏览器、ad拦截的一种新方法

以绑定click弹窗的方式,改为普通的链接,即 a[target=_blank],在点击打开新窗口之前,修改其href。

绑定mousedown,鼠标点击执行完成前修改href。

绑定focus,保证tab切换+enter时替换href。

代码如下:

<input type="search" id="keyword" value="" autocomplete="off" placeholder="请输入搜索关键字" />
&lt
2014/5/30 Comments:
插件jsPDF导出pdf例子

jsPDF貌似不支持中文

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title
2014/5/30 Comments:
解决javascript中加减乘除丢失精度问题的方法

在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会出现好多位小数.这是因为在javascript中浮点数的计算是以2进制计算的。

代码如下:

/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*/
2014/5/30 Comments:
【JS】关于if简写语句优化的方法 - 参考UglifyJS的压缩结果

UglifyJS是一个对javascript进行压缩和美化的工具,在它的文档说明中,我看到了几种关于if语句优化的方法。尽管我还没使用它去做一些尝试性的测试,但从这里可以看到它的确对js作了美化的工作。也许有人认为if语句就那么简单,能优化到什么程度?但是看看以下的几种方式,你也许会改变看法。

一、使用常见的三元操作符

if (foo) bar(); else baz(); ==> foo?bar():baz();
if (!foo) bar(); else baz(); ==> foo?baz():bar();
if (foo) return bar(); else return baz()

2014/5/30 Comments:
手机浏览器访问自动跳转到wap页面的js代码

如何让用户输入wap手机网站的网址时自动跳转到wap网站 ?
wap页面自动跳转的实现方式 ?
如何判断访客是否是移动设备访问,自动跳转到wap页面 ?
手机自动跳转到手机页面,一个网址区分普通访问与手机访问 ?
手机访问网站域名时如果实现自动跳转到wap页面 ?

本文就可以解决这些问题!

代码如下:

function is_mobile() {
    var regex_match = /
2014/5/30 Comments:
分享jqGrid读取选择的多行的某个属性代码
代码如下:

var selrow =articleTable.getGridParam('selarrrow');//获取多行的id
var columnCodes=[];//初始化一个数组
$(selrow).each(function (index, yu) {//遍历每个id 找到每个data 并把属性加到初始化数组里
var rowData = articleTable.jqGrid("getRowData", yu); 
2014/5/30 Comments: