js代码

  

/*
 * 获取UTC格式的字符串,参数必须是
 */
var solrDateFormat = function (o){
    var date;
    if(typeof o == 'string'){
        date = new Date(o);
    }else if(o instanceof Date){
        date = o;
    }else{
        return '';
    }
    return date.getUTCFullYear() + '-' + (date.getUTCMonth() + 1) + '-'
    + date.getUTCDate() + 'T' + date.getUTCHours() + ':'
    + date.getUTCMinutes() + ':' + date.getUTCSeconds() + 'Z';
}; /*
* 转义字符查询
*/
var escapeQueryChars = function (q){
var result = '';
//如果字符串q 不为空(null,未定义,空)
if (q !== null && q !== undefined && q !== '' && q !=="") {
for(var i=0;i < q.length;i++){
var c = q.charAt(i);
if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' || c == ':'
|| c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}' || c == '~'
|| c == '*' || c == '?' || c == '|' || c == '&' || c == ';' || c == '/'
|| c == ' ') {
result = result+ '\\';
}
result = result+ c;
}
}else{
return "*:*";
}
return result;
};

测试:

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="json3/produce/json3.min.js"></script>
<script type="text/javascript" src="js/myUtil.js"></script>
<script type="text/javascript">
//var date = new Date("2013/9/29 11:10:26");
//console.info(solrDateFormat(date));
//console.info(solrDateFormat("2013/9/29 11:10:26"));
//console.info(solrDateFormat("2013/09/29 21:10:26")); // 测试 escapeQueryChars方法
var q = "天翼大众 (1)";
alert(escapeQueryChars(q));
</script>
<title>搜索测试</title>
</head>
<body>
<div>
<input id="keyword" type="text"> <input id="search" type="button"
value="search" >
</div>
<div id="result">
</div>
</body>
</html>

js中直接对字符串转义-用于solr ulr 关键词转义的更多相关文章

  1. Js中常用的字符串,数组,函数扩展

    由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...

  2. [转]JS中对象与字符串的互相转换

    原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...

  3. JS中对象与字符串的互相转换

    在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...

  4. js中使用进行字符串传参

    在js中拼接html标签传参时,如果方法参数是字符串需要加上引号,这里需要进行字符转义 <a href='javascript:addMenuUI("+"\"&qu ...

  5. js中把JSON字符串转换成JSON对象最好的方法

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...

  6. Js中把JSON字符串转换为JSON对象(eval()、new Function())

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...

  7. JS中三种字符串连接方式及其性能比较

    工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法  用连接符“+”把要连接的字符串连起来 ...

  8. js中如何将字符串转化为时间,并计算时间差

    在前台页面开发时通常会用到计算两个时间的时间差,先在此附上实现方法 //结束时间 end_str = ("2014-01-01 10:15:00").replace(/-/g,&q ...

  9. js中高效拼接字符串

    写在前面 面试的过程,很有可能面试到c#那种方式拼接字符串更高效,然后就会引申到js中的拼接方式.这也是我在面试中遇到的问题,当时,也真没比较过js中到底哪种方式更高效.然后,跟猜测一样,说了使用数组 ...

随机推荐

  1. CF 360E Levko and Game——贪心

    题目:http://codeforces.com/contest/360/problem/E 官方题解与证明:http://codeforces.com/blog/entry/9529 一条可以调整的 ...

  2. ubuntu 指令修改时区 tzselect

    修改时区 tzselect 指令只是根据提示一步步选择正确时区,但不能真正修改时区,最后输入提示的指令,然后重启,才能永久修改. aaron@ubuntu:~$ tzselect Please ide ...

  3. python中高阶函数学习笔记

    什么是高阶函数 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数 def fun(x, y, f): print f(x), f(y) fun ...

  4. 数据库表数据传输到Oracle方案

    方案步骤为:数据导出到文件(增量或全量),通知接口文件就绪(上传到ftp或提供下载url),接收方下载文件,解析文件并入库.Oracle需要建立对应的临时表和正式表,入库步骤为:清空临时表,批量插入数 ...

  5. Android插件化初识

    含义:可以简单理解为将一个app分为多个小的app,其中有一个为宿主app. 解决的主要问题:代码加载.资源加载. 插件的方式:apk安装,apk不安装,dex包 插件化的优点: 1) 模块解耦,应用 ...

  6. Memcached: 目录

    ylbtech-Memcached: 目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返回 ...

  7. zabbix3.44+交换机华为或者H3C模版,监控所有的口updown以及流量的模版

    https://files.cnblogs.com/files/itfat/zbx_export_templates.xml 直接在zabbix导入即可,华为和H3C oid在CPU和内存有少许区别. ...

  8. RMI原理及简单demo

    1 简介 RMI是远程方法调用的简称,它能够帮助我们查找并执行远程对象的方法.通俗地说,远程调用就象将一个class放在A机器上,然后在B机器中调用这个class的方法. 2 概念 其他机器需要调用的 ...

  9. Android:ScaleType与Matrix相关

    关于ScaleType,网上介绍这个枚举对象的文章很多了,不过基本都只是介绍了它的效果.我在做可缩放移动的ImageView时,为了实现图片的缩放和拖动,需要记录图片的原始Matrix,在使用过程中发 ...

  10. cookie加密

    Cookie中的数据以文本的形式存在客户端计算机,考虑它的安全性,最好在将数据存入Cookie之前对其进行加密. 加密的方法很多,比较简单一点的有:Base64,md5,sha等,而相对比较复杂一点的 ...