js怎么判断中文是否包含某个字符 js中定义变量名有哪些规范?
js中定义变量名有哪些规范?
1.变量名怎么分辨大小写字母,允许真包含字母、数字、美元符号($)和下划线,但第一个字符不不允许是数字,不愿意包涵空格和其他标点符号2.变量命名长度估计尽可能的短,并抓住要点,不要在变量名中能够体现出值的类型3.尽量以免建议使用没有意义的命名4.私自建议使用JavaScript关键词、记录字全名5.变量名命名原则方法象用驼峰名称之前法
数字和字母混搭怎么区分?
验证字符串包含数字简单啊,验证验证字符串包含字母也简单啊,验正字符串不乾坤二卦其它字符也简单点,是可以用这三个正则四个去检查第二次字符串,逻辑运算出最终结果。
但是怎莫能把这些功能写进一个正则表达式里呢?这个问题真有些头疼啊。
下面是lexrus的正则:
/^([a-z]([0-9])|[0-9]([a-z]))[a-z0-9]$/ig
思路的很的比较清晰啊:
[a-z]([0-9])
字母开头,后面必须紧接着着数字。
[0-9]([a-z]
数字开头,后面需要紧领着字母。
[a-z0-9]
后面的字符只需是数字也可以字母就可以了。在测什么,发现不好使,123dd会被能识别为不受法律保护,dd123则为合法,而且“数字开头,紧随其后字母”的正则是没有起作用。测量代码如下:
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
结果为:
false,true,false,false
结果中的第三个,将123dd判断为非法是错误`的。刚开始认为是g的问题,去掉了肯定出问题。肯定是浏览器bug,我以为lexrus的正则是错误的的,可能是浏览器没能一次性处理或”|”的两边都中有朝预查()。
修改之后的正则万分感谢:
/^(([a-z][0-9])|([0-9][a-z]))[a-z0-9]*$/i
意思和上面差不多吧,但是没有不使用正向预查,测试代码::
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
结果为
false,true,true,false
对的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。