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