分类目录归档:web开发

数学技巧之巧用余数

发现自己好久没写博了。正好周二的时候在周例会上与兄弟们分享了一些知识,拿来写写。

在编程的时候,巧妙的算法能帮助我们实现很多复杂的功能,要写出高端的算法,需要有好的数学基础(说点废话凑点字数),下面进入正题,我们来看看余数的用途。
问题一:今天是星期二,100天以后是星期几?

继续阅读

一个简单的MYSQL操作类

下午想写个小东西,非常小的一个东西,不想因为这点小东西而用个框架,原生函数又太麻烦,网上找了找都感觉不太符合,于是边自己写了一个非常简单的类.
这个类里简单的增删改查都可以实现,查的时候会自动将结果集解析返回数组,哪位同行如果想做个不上线的小东西又没有适合的model可以直接copy走.
注意:对SQL注入0防范,只适合测试,不适于生产环境.

继续阅读

php中截取中文字符串

[cc lang='php' width='750']
/**
*
* 中文字符串截取
* @param string $string
* @param int $sublen
* @param int $start
* @param string $code
*/
function substr_zh($string, $sublen, $start = 0, $code = ‘UTF-8′) {
if ($code == ‘UTF-8′) {
$pa = “/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/”;
preg_match_all( $pa, $string, $t_string );

if (count( $t_string[0] ) – $start > $sublen) return join( ”, array_slice( $t_string[0], $start, $sublen ) ) . “…”;
return join( ”, array_slice( $t_string[0], $start, $sublen ) );
} else {
$start = $start * 2;
$sublen = $sublen * 2;
$strlen = strlen( $string );
$tmpstr = ”;

for($i = 0; $i < $strlen; $i ++) {
if ($i >= $start && $i < ($start + $sublen)) {
if (ord( substr( $string, $i, 1 ) ) > 129) {
$tmpstr .= substr( $string, $i, 2 );
} else {
$tmpstr .= substr( $string, $i, 1 );
}
}
if (ord( substr( $string, $i, 1 ) ) > 129) $i ++;
}
if (strlen( $tmpstr ) < $strlen) $tmpstr .= “…”;
return $tmpstr;
}
}
[/cc]

限制文本要框只输入数字型

[cc lang='html']





[/cc]

加以修改后用jQuery的写法,并加上了最大值的限制

[cc lang='js']
//限制只能输入数字,且有最大值限制
function only_int(name,big_int){
var value = $(name).val();
$(name).val(value.replace(/[^0-9*]/g,”)); //限制只能输入数字
if(big_int){
value_int = parseInt(value);
if(value_int > big_int){
$(name).val(big_int);
}
}
}
[/cc]

jQuery判断复选框是否选中

工作中遇到要获得某复选框状态

代码:
[cc lang='js']
$(‘#ly_test’).click(function(){
var list_type=$(“#no_list”).is(“:checked”)?”选上”:”没选”; //获取单选框按钮值
alert(list_type);
})
[/cc]

第一次时候jQuery中的.is

附手册中is

定义和用法

is() 根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。

语法

[cclang="js"].is(selector)[/cc]

参数 描述
selector 字符串值,包含匹配元素的选择器表达式。

详细说明

与其他筛选方法不同,.is() 不创建新的 jQuery 对象。相反,它允许我们在不修改 jQuery 对象内容的情况下对其进行检测。这在 callback 内部通常比较有用,比如事件处理程序。

假设我们有一个列表,其中两个项目包含子元素:

[cc lang='html']

  • list item 1
  • list item 2
  • list item 3

[/cc]

您可以向 <ul> 元素添加 click 处理程序,然后把代码限制为只有当列表项本身,而非子元素,被点击时才进行触发:

[cclang="js"]
$(“ul”).click(function(event) {
var $target = $(event.target);
if ( $target.is(“li”) ) {
$target.css(“background-color”, “red”);
}
});
[/cc]

现在,当用户点击的是第一个列表项中的单词 “list” 或第三个列表项中的任何单词时,被点击的列表项会被设置为红色背景。不过,当用户点击第一个列表项中的 item 1 或第二个列表项中的任何单词时,都不会有任何变化,这是因为这上面的情况中,事件的目标分别是 <strong> 是<span>。

请您注意,对于带有位置性选择器的选择器表达式字符串,比如 :first、:gt() 或者 :even,位置性筛选是针对传递到 .is() 的 jQuery 对象进行的,而非针对包含文档。所以对于上面的 HTML 来说,诸如 $(“li:first”).is(“li:last”) 的表达式返回 true,但是 $(“li:first-child”).is(“li:last-child”) 返回 false。

使用函数

该方法的第二种用法是,对基于函数而非选择器的相关元素的表达式进行求值。对于每个元素来说,如果该函数返回 true,则 .is() 也返回 true。例如,下面是稍微复杂的 HTML 片段:

[cc lang='html']

  • list item 1 – one strong tag
  • list item 2 -
    two strong tags
  • list item 3
  • list item 4
  • list item 5

[/cc]

您可以向每个 <li> 添加 click 处理程序,以计算在被点击的<li> 内部<strong> 元素的数目:

[cclang="js"]
$(“li”).click(function() {
var $li = $(this),
isWithTwo = $li.is(function() {
return $(‘strong’, this).length === 2;
});
if ( isWithTwo ) {
$li.css(“background-color”, “green”);
} else {
$li.css(“background-color”, “red”);
}
});
[/cc]