Detailed explanation of regular expressions in JavaScript
What is a regular expression? Regular expression: a pattern used to match character combinations in a string. In javascript, regular expressions are also objects
The role of regular expressions? Matching (verification form √) replacement (filtering sensitive words) extraction (extracting specific components from a string)
Two ways to create regular expressions Method 1: Constructor Method 2: Literals
//方法一
var regexp = new RegExp(/123/); //正则表达式里面不需要加引号
console.log(regexp); // /123/
//方法二
var rg=/123/;
console.log(rg); // /123/
The test() method, to check whether the regular expression conforms to the specification, and the return value is a Boolean value
console.log(rg.test('abc')); //false
Regular expression predefined class What is a predefined class? Predefined classes refer to the abbreviations of some common patterns a. \d——>[0-9] b. \D——>non[0-9] c. \w——>[A-Za- z0-9_] d. \W——>Non[A-Za-z0-9_] e. \s——>[\t\r\n\v\f] (space, line feed, tabulation) f. \S——>Non-space, line feed, tabulation
var reg1 = /\d/;
console.log(reg1.test(0123)); //true
console.log(reg1.test('afaf')); //false
var reg2 = /\D/;
console.log(reg2.test('ac;adk')); //true
console.log(reg2.test(14124)); //false
var reg3 = /\s/;
console.log(reg3.test(' ')); //true
console.log(reg3.test('ad')); //false
Special characters in regular expressions Boundary characters: ^ (start with) $ (end with what) Character class: [] (indicating that there is a series of characters to choose from, as long as it matches one of them) Range character: [- ] (From where to where) Inverted: ^ Priority: {}
var rg = /abc/; //只要包含有'abc'字符串的都返回true,可以不连续
console.log(rg.test('adaaaaaabcad')); //true
console.log(rg.test('askfhlafjla')); //false
var rg1 = /^ki/; //以'ki'开头的字符串都返回true
console.log(rg1.test('ki')); //true
console.log(rg1.test('k1i123')); //false
var rg2 = /^jisoo$/; //必须是'jisoo'才能返回true
console.log(rg2.test('jisoo')); //true
console.log(rg2.test('jennie')); //false
console.log(reg.test('blackpinkjisoorose')); //false
var rg3 = /[abc]/; //只要包含有a或b或c的字符都返回true
console.log(rg3.test('qao')); //true
console.log(rg3.test('qiq')); //false
var rg4 = /^[abc]$/; //字符串里只有一个a或一个b或一个c才返回true
console.log(rg4.test('c')); //true
console.log(rg4.test('ca')); //false
var rg5 = /[a-z]/; //有a~z任意一个小写字母都可以返回true
console.log(rg5.test('afasgfhaiufhalhc;;;;;ai')); //true
console.log(rg5.test('AGKGUKYYGTK')); //false
var rg6 = /^[a-zA-Z0-9]$/; //有a-z或A-Z或0-9里任何一个字符都返回true
console.log(rg6.test('9')); //true
console.log(rg6.test('aa')); //false
var rg7 = /^[^a-zA-Z0-9]$/; //有a-z或A-Z或0-9里任何一个字符就返回false
console.log(rg7.test('+')); //true
console.log(rg7.test('a')); //false
var rg8 = /^abc{3}$/; //只是让c重复三次才返回true
console.log(rg8.test('abccc')); //true
console.log(rg8.test('abcc')); //false
var rg9 = /^(abc){3}$/; //把abc重复3次
console.log(rg9.test('abcabcabc')); //true
console.log(rg9.test('aaabbbccc')); //false
Quantifiers in regular expressions a. * (repeat zero or more times) b. + (repeat one or more times) c.? (Repeat zero or one time) d. (n) (repeat n times) e. (n,m) (repeat n to m times)