获取服务器传来的数据-必须用JS去空格

今天早上到现在,一直在搞一个很愚蠢的问题,竟然一直没发现

如果$str=””;

$str = “$str-$sno”;

这样下来,$str前面会有个空格,js获取此值后,必须去掉空格

去空格函数rstr=rstr.replace(/(^\s*)|(\s*$)/g,””);

另:

去左空格replace(/(^\s*)/g, “”);

去右空格replace(/(\s*$)/g, “”);

另外,如果进行程序流程的一步一步核对,在if处停下是,一定要同时输出if里面的两个值,进行对比,或者在前面加上#来看是否有空格

总结一下

1、凡是用字符串连接的地方,可能就会产生空格,再拆分的时候,就出现了与原来不想等情况,因此,一定要去掉前后空格

2、尤其在获得从服务器传来的数据的时候,JS一定要注意空格的发生可能

Javascript trim()函数实现

在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的。

     方案一:

以原型方式调用,即obj.trim()形式,此方式简单且使用方面广泛,定义方式如下:

<script language=”javascript”>
/**
* 删除左右两端的空格
*/
String.prototype.trim=function()
{
     return this.replace(/(^\s*)|(\s*$)/g, ”);
}
/**
* 删除左边的空格
*/
String.prototype.ltrim=function()
{
     return this.replace(/(^\s*)/g,”);
}
/**
* 删除右边的空格
*/
String.prototype.rtrim=function()
{
     return this.replace(/(\s*$)/g,”);
}
</script>

 



使用示例如下:

<script type=”text/javascript”>
alert(document.getElementById(’abc’).value.trim());
alert(document.getElementById(’abc’).value.ltrim());
alert(document.getElementById(’abc’).value.rtrim());
</script>

 

方案二:

以工具方式调用,即trim(obj)的形式,此方式可以用于特殊处理需要,定义方式如下:

<script type=”text/javascript”>
/**
* 删除左右两端的空格
*/
function trim(str)
{
     return str.replace(/(^\s*)|(\s*$)/g, ”);
}
/**
* 删除左边的空格
*/
function ltrim(str)
{
     return str.replace(/(^\s*)/g,”);
}
/**
* 删除右边的空格
*/
function rtrim(str)
{
     return str.replace(/(\s*$)/g,”);
}
</script>

 



使用示例如下:

<script type=”text/javascript”>
alert(trim(document.getElementById(’abc’).value));
alert(ltrim(document.getElementById(’abc’).value));
alert(rtrim(document.getElementById(’abc’).value));
</script>

 



 

日期选择控件-date_input

一款jquery插件date_input

 

<script language="javascript" src="../../jquery-1.4.2.js"> </script>
<script type="text/javascript" src="jquery.date_input.js"> </script>

<link rel="stylesheet" href="date_input.css" type="text/css">
<script language="javascript">
$(function() {
  $("#my_specific_input").date_input();
  $(".button,.prev").css("cursor","hand").css("cursor","pointer");
  $(".button,.next").css("cursor","hand").css("cursor","pointer");
});

</script>

<input type="text" id="my_specific_input" />

 

美观大方,十分方便。

AJAX中文乱码PHP完美解决(IE和Firefox兼容)

最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助。

众所周知,使用AJAX传送和接收中文参数时,如果不在客户端和服务器做相应的处理就会出现乱码问题,在网上相应的文章也不少,但是有的情况下很难从中找 到符合自己理想的答案,我今天就是在网上找了很多,但是都差不多,讲ASP和JSP的比较多(我是用的PHP),所以到最后都没找到自己满意的答案。 继续阅读AJAX中文乱码PHP完美解决(IE和Firefox兼容)

搜索关键词高亮显示

写一个搜索页面的时候,经常需要把输入的搜索关键词给用高亮红色标记出来,用JS很方便就能实现这一点,对了,用jQuery更方便,我就是这么做的:

$("div.rest a").html(

    function(){

        return $(this).html().replace(

            /<?php echo $_REQUEST['search-keyword'];?>/g,

            "<span class='red'><?php echo $_REQUEST['search-keyword'];?></span>"

        )

    }

);

 

看到了吗,前面是选择要替换的层,然后用正则表达式将搜索的关键词,套上了一个<span class=’red’></span>这样的样式标签,然后整个层里面都会关键词高亮了,方便吧,就这一句。

JavaScript对Select的子元素Option的操作

  • javascript_删除所有select下面的option的方法

    //增加之前删除所有option
    while(length!=0){
         var length = document.getElementById('courseorder').options.length;
          for(var i = 0;i<length;i++){
                document.getElementById('courseorder').options.remove(i);
                length = length/2;
          }
    }

  • javascript_创建一个option节点

    op = document.createElement("option");
    op.value=0;
    //表明没有安排到科次
    te = document.createTextNode("没有安排到课次");
    op.appendChild(te);
    document.getElementById("courseorder").appendChild(op);