正则表达式
JavaScript RegExp 对象
RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
let patt1=new RegExp("a");
document.write(patt1.test("The best things in life are free"));
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
let patt1=new RegExp("a");
document.write(patt1.exec("The best things in life are free"));
compile()
改变检索规则
let reg=new RegExp("a");
reg.compile("d");
document.write("<h2>在str中查找d是否存在:"+reg.exec("bbcd")+"</h2>");
修饰符 i
忽略大小写
let reg=new RegExp("a");
reg.compile("a",'i');
document.write("<h2>在str中查找d是否存在:"+reg.exec("Abcd")+"</h2>");
方括号
[abc]
查找方括号之间的任何字符
let reg=new RegExp("a");
reg.compile("[abc]");
document.write("<h2>[abc]"+reg.exec("Abcd")+"</h2>");
[0-9]
查找任何从 0 至 9 的数字
let reg=new RegExp("a");
reg.compile("[0-9]");
document.write("<h2>[0-9]"+reg.exec("Abcd3")+"</h2>");
[a-z]
查找任何从小写 a 到小写 z 的字符。
let reg=new RegExp("a");
reg.compile("[a-z]");
document.write("<h2>[a-z]"+reg.exec("Abcd3")+"</h2>");
[A-Z]
查找任何从大写 A 到大写 Z 的字符。
let reg=new RegExp("a");
reg.compile("[A-Z]");
document.write("<h2>[A-Z]"+reg.exec("Abcd3")+"</h2>");
[A-z]
查找任何从大写 A 到小写 z 的字符。
let reg=new RegExp("a");
reg.compile("[A-z]");
document.write("<h2>[A-z]"+reg.exec("_Abcd3")+"</h2>");
[ab|ac|ad]
查找任何指定的选项。
let reg=new RegExp("a");
reg.compile("[ab|ac|ad]");
document.write("<h2>[ab|ac|ad]"+reg.exec("Abcd3")+"</h2>");
量词
n+
至少一个 n 的字符串
let reg=new RegExp("a");
document.write("<h2>:"+"123".match("^[0-9]+$")+"</h2>");
n*
零个或多个 n 的字符串
let reg=new RegExp("a");
document.write("<h2>:"+"a".match("^[0-9]*$")+"</h2>");
n?
零个或一个 n 的字符串
let reg=new RegExp("a");
document.write("<h2>:"+"1".match("^[0-9]?$")+"</h2>");
n{X}
正好n个
let reg=new RegExp("a");
document.write("<h2>:"+"123".match("^[0-9]{3}$")+"</h2>");
n{X,Y}
最少x最多y个
let reg=new RegExp("a");
document.write("<h2>:"+"123".match("^[0-9]{3,6}$")+"</h2>");
n{X,}
至少 X 个 n 的序列的字符串。
let reg=new RegExp("a");
document.write("<h2>:"+"green".match("^[A-z]{3,}$")+"</h2>");