CSS参考:在CSS中,标识符(包括元素名称、类和id选择器)可以只包含字符(a-zA-Z0-9)和ISO 10646字符U + 00 a0越高
,加上连字符(-)和下划线(_);他们不能从数字开始,两个连字符,或者连字符后跟一个数字。标识符也可以包含转义字符和
任何ISO 10646字符数字代码(见下一条)。例如,标识符“黑与白?“可能是写成“B \易名\ ?”或“B \ 26 W \ 3 f”。
特别注意:querySelector按css规范实现,即css标识符不能从数字开始,两个连字符,或者连字符后跟一个数字
querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。
- js中的事件
blur focus focusin focusout load resize
scroll unload click dblclick mousedown mouseup
mousemove mouseover mouseout mouseenter mouseleave
change select submit keydown keypress keyup error contextmenu
函数:
seacher--查找位置;
replace--替换;
match()--匹配返回的值;
substring--获取子字符串;
charAt--获取某个字符串;
风格:
js风格--new RegExp("值","正则参数");
Perl风格--/值/正则参数;
转义字符 :
.(点)--匹配除换行符外的任何字符(默认);
\d==0-9;(0到9),/d==[0-9];
\s--空白字符,包括tab、 、空格符;
\w--英文、数字、下划线;[a-z0-9_]
[\b]匹配一个退格符;
\D--[^0-9];
\W--[^a-z0-9_];
\S--非空白的字符;
\b匹配一个单词的边界;
\B匹配一个单词的非边界;
+ 若干(多少都可以);
| “或”的意思;
() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串;
[]--元字符,其实就是方括号。
[abc]lwb--“或”的意思,[]中的abc只要任意存在一个则条件满足
[0-9]--表示范围0-9;
^--[^a-z]--表示排除a-z,就是“非”的意思;
范围和排除搭配使用:[^a-z0-9]--表示除了英文和数字以外的东西;
量词:个数;
{n}--正好出现n次;
{n,m}--最少n次,最多m次;
{n,}--最少n次,最多无限次;
+--{1,};
?--{0,1}意思是可有可无;
*--{0,}意思是可以没有,也可以有,并且有多少位都行;
e.g.:
(1:phoneNumber:
/d{8}
if(phoneNumber==01234567){
因为电话号码是没有0开头的,所以/d{8},需要做修改
为:[1-9]/d{7};
};
(2:qq号:
[1-9]/d{4-10};
(3:固话:
010-66666699-分机号或66666699;
(0/d{2,3}-)?[1-9]/d{7}(-/d{1,5})?;
(4:邮箱:chuyang@goodBoy.com/
chuyang666@aa.com/3959665435@qq.com;
一串英文、数字、下划线 @ 一串英文、数字 . 一串英文
var youxiang=/^\w+ @ [a-z0-9]+ \. [a-z]+$/i;
(5:标签匹配
<p>[\s\S]{0,2}? See more[\s\S]*?<\/p>
text 字符串一部分符合要求就会返回true,所以要加上下面的^$;
^--行首;
$--行尾;
模式修饰符:
g--global 找到全部;
i--ignore:忽略大小写;
u--表示按unicode(utf-8)匹配(主要针对多字节比如汉字;
s--Singleline(单行模式):表示更改.的含义,使它与每一个字符匹配(包括换行 符\n)
- 后续案例:
/(([a-f0-9]{2}:)|([a-f0-9]{2}-)){5}[a-f0-9]{2}/gi #mac地址
"url".split('/').pop() #匹配url中的最后一个/后面内容
另外提供官方图解易于理解你所写的regexp
传送门