js中直接对字符串转义-用于solr ulr 关键词转义
2024-08-27 12:58:12
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>
最新文章
- 在.NET Core 1.0 RC2 上 运行 Orchard2
- ui-router带参数的ui-sref配置
- mysql查看和修改最大数量
- 阿里云开放服务oss的api
- Eclipse 使用 Link 方式进行插件的安装
- 如何获取一个AlertDialog中的EditText中输入的内容
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
- Webform用户控件
- 香蕉派路由功Openwrt、Android功耗对照測试
- 利用python3.5 +TK 开发股票自动交易伴侣
- 关于JSON.parse在ie6,ie7下未定义的issue
- javascript 回调, 单线程执行
- 解决openfire中发送某些特殊字符会断开xmpp连接的问题
- 必须知道的Linux内核常识详解
- JavaScript中判断整字类型最简洁的实现方法
- Day 6-1计算机网络基础&;TCP/IP
- jQuery中的extend()方法
- dom4j 简单使用
- 通过chrome浏览器分析网页加载时间
- sublime 3的破解和安装
热门文章
- zk中文乱码问题
- 搭建基于hyperledger fabric的联盟社区(八) --Fabric证书解析
- java代码-----实现4个人打牌游戏的相关代码。线程
- s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由用户控制。
- SQL 只取重复记录一条记录并且是最小值
- idea 破解代码
- 第六章 hbase shell 命令
- C++中结构体与类的区别 1
- C++ 栈 (链表实现)
- SSMS安装英文版后无法修改为中文