JavaScript 字符串函数
$(document).ready(function() {
//其他类型转化成字符串
var value1 = 10; //Initeger
var value2 = true; //Boolean
var value3 = null; //null
var value4; //undefined
console.log(String(value1)); //10
console.log(String(value2)); //true
console.log(String(value3)); //null
console.log(String(value4)); //undefined
//value3.toString(); //有错误的
/**
* 字符串函数总结
*/
//1 字符方法
/**
* charAt()、charCodeAt()
*/
//2 字符串操作
/*
* concat()
* slice(int start, int end)
* substr(int start, int lenght)
* substring(int start, int end)
*/
//3 字符串位置方法
/*
* indexOf()
* indexIndexOf()
*/
//4 字符串的模式匹配方法
/*
* array match(//) 参数:正则表达式或RegExp
* int search(//) 正则匹配返回第一个匹配项索引 aMatches.index相同
* 替换子字符串
* String replace("要替换的内容", "替换内容")
* String replace(//, function(String match, int pos, String originalText));
*/
var text = "cat, bat, sat, fat";
var aMatches = text.match(/.at/g);
console.log(aMatches);
console.log($.type(/.at/g));
var iPos = text.search(/at/);
message(iPos);
var sResult = text.replace('at', 'ond');
sResult = text.replace(/at/g, 'ond');
sResult = text.replace(/(at)/, "word($`)"); //获取匹配的子字符串之前的子字符串
sResult = text.replace(/(a)/, "($')"); //获取匹配的子字符串之后的子字符串
message(sResult);
var text = "<p class=\"classname\"> hello world!</p>";
message(html_escape(text));
});
/**
* 在火狐浏览器的控制台上输出调试消息
* @param {Object} arg
* @return {void}
*/
function message(arg0) {
console.log(arg0)
}
/**
* 转义html字符串
* @param {String} text
* @return {String}
*/
function html_escape(text) {
return text.replace(/[<>"&]/g, function(match, pos, originalText) {
//把每次匹配到的字符串,传给回调函数。回调函数返回的值,再放入到字符串
switch(match) {
case "<":
return "<";
case ">":
return ">";
case "&":
return "&";
case "\"":
return """;
}
});
}