ソースを参照

JavaScript-utils

striveDJiang 8 年 前
コミット
d6a9fa4f98
5 ファイル変更104 行追加0 行削除
  1. 8 0
      README.md
  2. 43 0
      string/changeCase.js
  3. 23 0
      string/removeSpace.js
  4. 16 0
      string/repeatCopy.js
  5. 14 0
      string/stringReplace.js

+ 8 - 0
README.md

@@ -46,6 +46,10 @@
 
 ### String  
 ####   [digitUppercase][digitUppercase]  现金额转大写
+####   [removeSpace][removeSpace]  字符串去除空格
+####   [changeCase][changeCase]  字符串大小写转换
+####   [repeatCopy][repeatCopy]  重复复制
+####   [stringReplace][stringReplace]  字符串替换
 
 ### Support  
 ####   [isSupportWebP][isSupportWebP]  判断浏览器是否支持webP格式图片
@@ -94,6 +98,10 @@
 [isUrl]:https://github.com/striveDJiang/utils/blob/master/regexp/isUrl.js
 
 [digitUppercase]:https://github.com/striveDJiang/utils/blob/master/string/digitUppercase.js
+[removeSpace]:https://github.com/striveDJiang/utils/blob/master/string/removeSpace.js
+[changeCase]:https://github.com/striveDJiang/utils/blob/master/string/changeCase.js
+[repeatCopy]:https://github.com/striveDJiang/utils/blob/master/string/repeatCopy.js
+[stringReplace]:https://github.com/striveDJiang/utils/blob/master/string/stringReplace.js
 
 [isSupportWebP]:https://github.com/striveDJiang/utils/blob/master/support/isSupportWebP.js
 

+ 43 - 0
string/changeCase.js

@@ -0,0 +1,43 @@
+/**
+ * 
+ * @desc   大小写转换
+ * @param  {String} str 
+ * @param  {Number} type 1:首字母大写  2:首页母小写  3:大小写转换 4:全部大写 5:全部小写
+ * @return {String} 
+ */
+function changeCase(str, type) {
+    function ToggleCase(str) {
+        var itemText = ""
+        str.split("").forEach(
+            function (item) {
+                if (/^([a-z]+)/.test(item)) {
+                    itemText += item.toUpperCase();
+                } else if (/^([A-Z]+)/.test(item)) {
+                    itemText += item.toLowerCase();
+                } else {
+                    itemText += item;
+                }
+            });
+        return itemText;
+    }
+    switch (type) {
+        case 1:
+            return str.replace(/\b\w+\b/g, function (word) {
+                return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
+            });
+        case 2:
+            return str.replace(/\b\w+\b/g, function (word) {
+                return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase();
+            });
+        case 3:
+            return ToggleCase(str);
+        case 4:
+            return str.toUpperCase();
+        case 5:
+            return str.toLowerCase();
+        default:
+            return str;
+    }
+};
+
+module.exports = changeCase

+ 23 - 0
string/removeSpace.js

@@ -0,0 +1,23 @@
+/**
+ * 
+ * @desc   字符串去除空格
+ * @param  {String} str 
+ * @param  {Number} type 1:去除所有空格  2:去除前后空格  3:去除前空格 4:去除后空格
+ * @return {String} 
+ */
+function removeSpace(str, type) {
+    switch (type) {
+        case 1:
+            return str.replace(/\s+/g, "");
+        case 2:
+            return str.replace(/(^\s*)|(\s*$)/g, "");
+        case 3:
+            return str.replace(/(^\s*)/g, "");
+        case 4:
+            return str.replace(/(\s*$)/g, "");
+        default:
+            return str;
+    }
+};
+
+module.exports = removeSpace

+ 16 - 0
string/repeatCopy.js

@@ -0,0 +1,16 @@
+/**
+ * 
+ * @desc   字符串重复复制
+ * @param  {String} str 
+ * @param  {Number} count:复制次数 
+ * @return {String} 
+ */
+function repeatCopy(str, count) {
+    var text = '';
+    for (var i = 0; i < count; i++) {
+        text += str;
+    }
+    return text;
+};
+
+module.exports = repeatCopy

+ 14 - 0
string/stringReplace.js

@@ -0,0 +1,14 @@
+/**
+ * 
+ * @desc   字符串替换
+ * @param  {String} str 
+ * @param  {String} FindText:要替换的字符或正则表达式
+ * @param  {String} RegText:替换成什么
+ * @return {String} 
+ */
+function stringReplace(str, FindText, RegText) {
+    fRegExp = new RegExp(FindText, "g");
+    return str.replace(fRegExp, RegText);
+};
+
+module.exports = stringReplace