記錄最近前端開發時遇到的一些js相關問題和解決方案
阿新 • • 發佈:2022-03-19
背景
最近做了一個前後端開發,自從前後分離,js碰的都很少了,就導致一個需求開始前端的時候效率比較慢,特記錄一下。
內容
js的正則表示式校驗
var reg = "^[A-Za-z0-9;]+$";
var tenantIdTest = "12322```31";
if (tenantId.match(reg) == null){
console.log("租戶ID["+tenantId+"]的輸入格式不對!");
}else{
console.log("ok");
}
js最好的測試方式
使用console 在控制檯打印出console.log("2222");
js在一個function連續呼叫兩個function注意事項
如果連續呼叫兩個function,比如A和B,假設想要的效果是先A後B,如果對B新增條件限制,比如基於A的結果決定是否執行B,那麼就會出現A和B同時執行。
js校驗是否包含
//沒有包含則返回-1,此時說明存在多個節點
if (nodeIds.indexOf(nodeId) == -1){
alert("不支援多個節點同時切換!");
return false;
}
js陣列
//校驗待切換的字尾和目的字尾需要不一樣 var switchToAbSuffixList = new Array(); var errorTenantIds = new Array(); switchToAbSuffixList.push(switchToAbSuffix); for(var i=0;i<tenantInfoDetailsByTable.length;i++){ var abSuffix = tenantInfoDetailsByTable[i].abSuffix; //有包含的返回大於-1的值,此時說明存在原字尾和目的字尾相同的租戶 if (switchToAbSuffixList.indexOf(abSuffix) > -1){ var tenantId = tenantInfoDetailsByTable[i].tenantId; errorTenantIds.push(tenantId); } } if (errorTenantIds.length > 0) { alert(errorTenantIds+"的字尾已是"+switchToAbSuffix+",無需再切換,請手動移除後重試!"); return false; }