一、jstrim函數
在JavaScript中,字符串類型的數據有許多方法,其中有一個比較常用且實用的方法叫做trim(),通過這個方法可以去除字符串首尾的空格、回車、tab等空白符號。然而在實際開發中,我們會發現這個方法僅針對於首尾空白符號的去除,對於字符串內部的空白符號並不會有效。於是,jstrim這個函數應運而生。
jstrim函數有一下特點:
- 除了去除字符串首尾的空格、回車、tab外,還能去除字符串內部的空白符。
- 與原生的String.trim()方法相同,jstrim函數不會修改原始的字符串。
- jstrim函數和原生的String.trim()方法一樣,可以作為字符串的方法或者全局函數調用。
二、jstrim函數用法
jstrim函數的用法和String.trim()方法非常相似。
var str = " jstrim function 解析 ";
// 使用方法一:作為String全局對象的方法
str = jstrim(str);
console.log(str); // 輸出: 'jstrim function 解析'
// 使用方法二:作為字符串的方法
str = " jstrim function 解析 ".jstrim();
console.log(str); // 輸出: 'jstrim function 解析'
通過以上代碼我們可以看出,使用jstrim函數時,我們需要傳遞待處理的字符串作為函數的參數,然後該函數會返回已經處理好的字符串。
三、jstrim()方法
jstrim方法同樣也是用來去除字符串的空白符:首尾空格、回車、tab等等,它能夠去除字符串中的所有空白符。
下面是jstrim()方法的代碼實現:
String.prototype.jstrim = function(){
return this.replace(/(^[\s\n\t]+)|([\s\n\t]+$)|([\s\n\t]{2,})/g,'');
};
上面這段代碼中通過正則表達式去除三種類別的空白符:
- 只有首部
- 只有尾部
- 字符串內部存在兩個或多個空白符連在一起的情況
如果是多個空白符,那麼使用正則表達式時就要加上花括號,表示至少重複兩次。
四、jstrim有什麼規律
1、去掉字符串首尾空白符
2、去掉字符串內部空白符
3、可以作為String的全局函數或者方法調用,不會修改原始字符串的值
4、只會去除空白符號,對於其他符號,不做處理
5、jstrim()方法實現中,正則表達式是學習和掌握JavaScript正則表達式的經典例題。
五、trim相關做為小標題
1、去掉密碼輸入框裡面的空格
在實際開發中,有時候用戶在輸入密碼的時候可能會誤輸入空格,而這些空格又對密碼驗證造成了困難,我們可以使用jstrim函數來將輸入的密碼去掉空格,從而有效的避免這類問題的出現。
示例代碼:
// 獲取用戶輸入的密碼
var password = document.getElementById('password').value;
// 去除首尾以及中間的空格
password = jstrim(password);
// 判斷密碼是否正確
if (password === "admin") {
// do something
}
2、去掉字符串裡面的空白符
在大部分情況下,字符串中的 空白符 都是沒有用處的,我們可以使用jstrim函數將字符串內部的空白符去掉,使其更為緊湊,更加美觀簡潔。
示例代碼:
var str = " hello world ";
// 去掉字符串裡面的空白符
str = jstrim(str);
console.log(str); // 輸出: 'helloworld'
3、去掉輸入框內容裡面的多餘空格
用戶在輸入表單的時候,有時候可能會誤輸入多餘的空白符,為了防止這種情況的發生,我們可以在用戶提交表單數據之前先使用jstrim函數將表單中的內容先清理掉。
示例代碼:
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === 'text') {
// 去掉輸入框中的多餘空格
inputs[i].value = jstrim(inputs[i].value);
}
}
以上是3個常見的使用場景,可以根據實際需求進行更多的擴展。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/206314.html