1. 程式人生 > 實用技巧 >不區分大小寫獲取引數值

不區分大小寫獲取引數值

你們遇到過這種奇葩情況沒?請求同一個url,不同的平臺傳參的大小寫不一致……這個時候就只能在取參時相容大小寫了。

實現程式碼如下:

/**
 * 不區分大小寫獲取引數值
 * @return {type} param 引數的key
 * @return {type} keyValue 返回經過相容處理後的引數值
 * @author ywy
 * @date 2020-11-13
 */
function getCompatibleParam(param) {
	var keyValue = ''; // 經過相容處理後的引數值
	if (param) {
		var lowerCaseUrl = location.href.toLocaleLowerCase(); // 轉化為小寫後的url
		var normalUrl = location.href; //正常url
		var startIndexOfParam = lowerCaseUrl.indexOf(param.toLowerCase());
		console.log('startIndexOfParam————>' + startIndexOfParam);
		if (startIndexOfParam != -1) {
			var realKey = normalUrl.slice(startIndexOfParam, startIndexOfParam + param.length);
			console.log('realKey————>' + realKey);
			keyValue = getQueryVariable(realKey);
		}
	}
	console.log('keyValue————>' + keyValue);
	return keyValue;
}

  呼叫如下:

var userId = getCompatibleParam('userID');

  這個時候無論傳userId還是userID還是UserID還是其他的大小寫形式,都可以拿到值了。