正则表达式是一个对象,主要是用于匹配字符串中字符组合的模式。
特色javascript
在javascript中,能够经过两种方式建立正则表达式
test()是正则表达式对象的方法,用来检验字符串是否符合该规则,返回值为true或者false.
注意:正则表达式不须要加引号,无论是字符串或值型html
1.经过RegExp对象的方式建立正则表达式java
var 变量名 = new RegExp(/表达式/)
2.经过字面量建立正则表达式
var 变量名 = /表达式/
注释中间放表达式就是正则表达式字面量ide
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>正则表达式</title> </head> <body> </body> <script> //1.利用RegExp对象来建立正则表达式 let regexp = new RegExp(/123/); console.log(regexp) //2.利用字面量的方式来建立 let regexp2 = /123/; console.log(regexp2) //test()方法用来检验字符串参数是否符合正则表达式的规则 console.log(regexp.test(123)); console.log(regexp2.test(123)); </script> </html>
### 正则表达式的组成工具
一个正则表达式能够由简单的字符组成,好比/abc/,也能够是简单与特殊字符的组合,如 ^ 、$ 、+ 等。
特殊字符很是多,能够参考:测试
正则表达式中的边界符(位置符)用来提示字符所在的位置,主要有两个字符
若是^与$同时存在,则表明精准匹配ui
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>正则表达式之边界符</title> </head> <body> </body> <script> let regexp = /abc/; //test()方法里面的参数只要包含abc字符,即为true console.log(regexp.test('abc'))//true console.log(regexp.test('abcd'))//true console.log(regexp.test('abcde'))//true let regexp2 = /^abc/ //test()方法里面的参数必须以abc开头,即为true console.log(regexp.test('abc'))//true console.log(regexp.test('bacd'))//false console.log(regexp.test('abcde'))//true let regexp3 = /^abc$/ //test()方法里面的参数必须是abc,即为true console.log(regexp.test('abc'))//true console.log(regexp.test('bacd'))//false </script> </html>
[]:表示有一系列的字符能够选择,只要匹配其中一个即可以了spa
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>正则表达式之字符类</title> </head> <body> </body> <script> let regexp = /[abc]/ //只需包含a或b或c的字符 返回值便可true console.log(regexp.test('name')); console.log(regexp.test('body')); console.log(regexp.test('chinese')); console.log('-----------------------------------') let regexp2 = /^[abc]$/ //三选一,只能是a或b或c中的任意字符,返回值为true. console.log(regexp2.test('a')); console.log(regexp2.test('b')); console.log(regexp2.test('c')); console.log(regexp2.test('d'));//false console.log('-----------------------------------') let regexp3 = /^[a-z]$/ //多选一,只能是26个小写字母中任意一个字符,返回值为true. console.log(regexp3.test('a')); console.log(regexp3.test('b')); console.log(regexp3.test('c')); console.log(regexp3.test('d')); console.log('-----------------------------------') let regexp4 = /^[a-zA-Z0-9_-]$/ //多选一,只要是26个小写字母或26个大写字母或0-9和_-中任意一个字符,返回值为true. console.log(regexp4.test('A')); console.log(regexp4.test('b')); console.log(regexp4.test('0')); console.log(regexp4.test('!')); //false console.log('-----------------------------------') let regexp5 = /^[^a-zA-Z0-9_-]$/ //多选一,[]里面的^是取反的意思,只要不是[]里面的字符 都为true console.log(regexp5.test('A')); console.log(regexp5.test('b')); console.log(regexp5.test('0')); console.log(regexp5.test('!')); //true console.log('-----------------------------------') </script> </html>