js怎么判斷中文是否包含某個字符 js中定義變量名有哪些規(guī)范?
js中定義變量名有哪些規(guī)范?1.變量名怎么分辨大小寫字母,允許真包含字母、數(shù)字、美元符號($)和下劃線,但第一個字符不不允許是數(shù)字,不愿意包涵空格和其他標(biāo)點(diǎn)符號2.變量命名長度估計(jì)盡可能的短,并抓住要
js中定義變量名有哪些規(guī)范?
1.變量名怎么分辨大小寫字母,允許真包含字母、數(shù)字、美元符號($)和下劃線,但第一個字符不不允許是數(shù)字,不愿意包涵空格和其他標(biāo)點(diǎn)符號2.變量命名長度估計(jì)盡可能的短,并抓住要點(diǎn),不要在變量名中能夠體現(xiàn)出值的類型3.盡量以免建議使用沒有意義的命名4.私自建議使用JavaScript關(guān)鍵詞、記錄字全名5.變量名命名原則方法象用駝峰名稱之前法
數(shù)字和字母混搭怎么區(qū)分?
驗(yàn)證字符串包含數(shù)字簡單啊,驗(yàn)證驗(yàn)證字符串包含字母也簡單啊,驗(yàn)正字符串不乾坤二卦其它字符也簡單點(diǎn),是可以用這三個正則四個去檢查第二次字符串,邏輯運(yùn)算出最終結(jié)果。
但是怎莫能把這些功能寫進(jìn)一個正則表達(dá)式里呢?這個問題真有些頭疼啊。
下面是lexrus的正則:
/^([a-z]([0-9])|[0-9]([a-z]))[a-z0-9]$/ig
思路的很的比較清晰?。?/p>
[a-z]([0-9])
字母開頭,后面必須緊接著著數(shù)字。
[0-9]([a-z]
數(shù)字開頭,后面需要緊領(lǐng)著字母。
[a-z0-9]
后面的字符只需是數(shù)字也可以字母就可以了。在測什么,發(fā)現(xiàn)不好使,123dd會被能識別為不受法律保護(hù),dd123則為合法,而且“數(shù)字開頭,緊隨其后字母”的正則是沒有起作用。測量代碼如下:
scripttypetext/javascript
functionistrue(str){
varreg/^([a-z]([0-9])|[0-9]([a-z]))[a-z0-9]$/ig;
returnreg.test(str);
}
varstrAaBc;
varstr2aaa123;
varstr3123dd;
varstr41230923403982;
document.write(istrue(str)br/);
document.write(istrue(str2)br/);
document.write(istrue(str3)br/);
document.write(istrue(str4)br/);
/script
結(jié)果為:
false,true,false,false
結(jié)果中的第三個,將123dd判斷為非法是錯誤`的。剛開始認(rèn)為是g的問題,去掉了肯定出問題??隙ㄊ菫g覽器bug,我以為lexrus的正則是錯誤的的,可能是瀏覽器沒能一次性處理或”|”的兩邊都中有朝預(yù)查()。
修改之后的正則萬分感謝:
/^(([a-z][0-9])|([0-9][a-z]))[a-z0-9]*$/i
意思和上面差不多吧,但是沒有不使用正向預(yù)查,測試代碼::
scripttypetext/javascript
functionistrue(str){
varreg/^(([a-z][0-9])|([0-9][a-z]))[a-z0-9]*$/i;
returnreg.test(str);
}
varstrAaBc;
varstr2aaa123;
varstr3123dd;
varstr41230923403982;
document.write(istrue(str)br/);
document.write(istrue(str2)br/);
document.write(istrue(str3)br/);
document.write(istrue(str4)br/);
/script
結(jié)果為
false,true,true,false
對的。