数字自动格式化

$(‘#memberCodeEq’).unbind(‘keyup’)
$(‘#memberCodeEq’).on(‘keyup’,function(){if($(this).val().length==12)$(this).val($(this).val().replace(/^(\d{3})(\d{3})(\d{3})(\d{3})/,’$1 $2 $3 $4′))});

//失去焦点又回去

$(‘#memberCodeEq’).on(‘blur’,function(){$(this).val($(this).val().replace(/\s+/g,”))})

//3个字就变

$(‘#memberCodeEq’).on(‘keyup’,function(){$(this).val($(this).val().replace(/(\d{3})([^\s])/g,’$1 $2′));console.log(1)})

toggleClass用起来很邪性

用的是zepto

有一种写法是toggleClass(‘classA classB’)

很容易想当然地写成有一个逗号在中间。

也很容易误以为这样是两个class一起切。

实际上当有A时,A被干掉,没A时,A被加上,有B时,B被干掉,没B时,B被加上。

但是这样仍然有疑问,就是AB控制相同的属性时,会发生什么?

我以为是谁在后面谁生效,然而实测效果不对。

而且当我toggleClass(‘classA classB’).show()的时候,

发现先show,然后才切的。

看来链式写法有问题啊。

或者这个切换是自带了默认时间的?

还没查出来。

mysql命令行中加入linux的变量作为参数

这事以前搞定了,但是捡起来问题太多。

报错,通常是mysql的值类型造成的,因为我输出的结果里出现过company_id这种字符串,而当时用于in的字段类型是int

而且in(1,2,34,5,)这样的也会报错。

当我企图把文件内容给输出给$aa这样的变量时,不知道怎么弄的,把变量变成了一个快捷方式,以至于当我用vim来修改$aa的时候,那个文件也跟着变了。

那么直接in(`cat xx.txt`)是不是也行?我没试过,不过显然应该是可以的。

这几天遇到的跨不过的坑

好死不死,非要用原始的submit提交表单。

这时问题来了,后台php状态返回404。

而且感觉一开始是200,然后接着404。

原因很简单,我这个php文件引用了另外一个文件用于获取用户登录状态。

一开始我以为是引用的路径不对。

事实上,当我把报错提示打开之后,发现如果路径真的不对的话,就会在浏览器上看到php的报错,但是并没有报错。

显然,404是nginx弄出来的。

那么肯定是nginx的config不对,然而,如果我用ajax方法来提交,就不会有问题。

看了半天nginx及vhost的conf,看来看去,看不出个所以然来。

从逻辑上说,这有点像后端的防盗链或反跨域机制。

然而,一般的nginx防盗链方案怎么也得定义一个$invalid_referer。这个问题里似乎并没有这种事。

从php跳到php的时候也不会有问题,就是html跳php就有问题,不管是_self还是_blank,post还是get。

有几个地方可疑,一是本站的conf中拦截的location最后有一个:
location ~ /\.
{
deny all;
}

按说这个意思是\后直接带个.的方式,直接拒绝访问。但是这和require没关系啊。

还有一个地方可疑

enable-php.conf文件
location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}

很显然404就是它弄出来的,但这也没错啊。

照这架式,就是fastcgi.conf的问题。

这个问题先留着吧。其实基本上不也不需要非ajax的提交。

现在做事,太容易被小问题牵绊了,还是要直奔目的而去。

安卓超级终端的组合键实现

要中止一个Linux命令的运行,必须按下ctrl+c或ctrl+z,但是安卓中大部分输入法都没ctrl键。

有段时间我曾经下载过一个叫黑客键盘的输入法,洋人搞的,其实并不好用。

刚才看了一眼超级终端的设置,里面明明可以把音量键或其他实体按键模拟成ctrl,一试之下,果然可以。

上次ping一下停不下来,非常怀疑网站就是被它卡死的,现在有了这招就不怕了。