这三个方法都是JS里没有的,现在把它写成了原型扩展,供直接调用。
- /**
- * 用正则表达式去掉首尾空格
- * 对应于PHP的trim函数
- * 用法:string.trim();
- **/
- String.prototype.trim = function()
- {
- return this.replace(/(^/s*)|(/s*$)/g, "");
- }
- /**
- * explode方法
- * 等同于Python里面的splite方法
- * 等同于PHP里的explode方法
- * 用法:string.explode(separators);
- **/
- String.prototype.explode = function(separators){
- //inputstring = new String(inputstring);
- separators = new String(separators);
- if(separators == "undefined") {
- separators = " ,,|"; //如果没有separators分割符
- }
- str = new Array(1); //the return
- currentElement = "";
- count = 0;
- for(var i=0; i < this.length; i++) { //遍历整个字符串
- char = this.charAt(i);
- if(separators.indexOf(char) != -1) {
- else {
- str[count] = currentElement;
- count++;
- currentElement = "";
- }
- } else {
- currentElement += char;
- }
- }
- return str;
- }
- /**
- * 把所有全角字符转成半角字符。
- * 用法:string.toDBC();
- **/
- String.prototype.toDBC = function(){
- var DBCStr = "";
- for(var i=0; i<this.length; i++){
- var c = this.charCodeAt(i);
- if(c == 12288) {//全角空格为12288
- DBCStr += String.fromCharCode(32);//转成半角空格为32
- continue;
- }
- //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
- if (c > 65280 && c < 65375) {
- DBCStr += String.fromCharCode(c - 65248);
- continue;
- }
- if (c > 65280 && c < 65375) {
- DBCStr += String.fromCharCode(c - 65248);
- continue;
- }
- DBCStr += String.fromCharCode(c);
- }
- return DBCStr;
- }