2016 - 2024

感恩一路有你

js怎么判断中文是否包含某个字符 js中定义变量名有哪些规范?

浏览量:3452 时间:2023-08-01 14:14:29 作者:采采

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

对的。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。