正则表达式

  1. javascript的正则表达式与java的区别

以/开头 /结尾 与java的不同

java的正则表达式telephone.matches("1[34857][\\d]{9}")

javascript: /^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$/

 

2. 定义

var 变量名= new RegExp(/表达式/); 

推荐: var 变量名= /表达式/;

console.log(regexp1.test(345));

console.log(/\d/.test(567));(直接使用)

 

  1. 预定义类:

.     [^\n\r] 除了换行回车之外的任意字符(“”不行

 \d [0-9]        数字字符

\D  [^0-9]    非数字字符

 \s [ \t\n\x0B\f\r] 空白字符

\S  [^ \t\n\x0B\f\r]    非空白字符

\w  [a-zA-Z_0-9]      单词字符

\W [^a-zA-Z_0-9]        非单词字符 

 

  1. 简单类(没有特殊字符的)

验证字符串

1.

/string/.test(“string”);            只多不能少

/andy/.test(“andylv”)                            // true

/andy/.test(“an”)                            // false

 

2.

/[string]/.test(“string”);                  只要包含里面的任何一个就可以

/[andy]/.test("an");                          // true

 

  1. 负向类: (不能是其中的整体或者一部分)

中括号[] 表示的是匹配一个字符

[^abc] 表示匹配一个不是abc的字符,但是只能是一个,如果传递的参数多出一个,则会返回true;

 

 

 

  1. 范围类:

“-” 表示从匹配a字母到n字母,数字1-n 解决: 有时匹配的东西过多,而且类型又相同 全部输入太麻烦

console.log(/[a-z]/.test('1111'));

组合类

用中括号匹配不同类型的单个字符。

console.log(/[a-m1-5]/.test("b"))//true

 

正则边界(重点)

^ 会匹配行或者字符串的起始位置

注:^[]中才表示非!这里表示开始

$ 会匹配行或字符串的结尾位置

^$在一起 表示必须是这个(精确匹配)

console.log(/lily/.test("lilyname")); // true
console.log(/^lily$/.test("lily"));  // true
console.log(/^lily$/.test("ly"));   // false

 

  1. 量词(重点)

(多个字母,重复最后一个)

*   (贪婪)   重复零次或更多   (>=0)

+   (懒惰)   重复一次或更多次  (>=1)

?    (占有)   重复零次或一次   (0||1)  要么有 要么没有

{}  重复多少次的意思   可以有多少个 

您的银行卡密码只能是 6位      {6}

{n} n次   

{n,} (x>=n)

{n,m} (n<=x<=m)

*        {0,}

+       {1,}

?        {0,1}

x|y    一个或x个或y个

()提高权限,有限计算

 

 

  1. replace 函数

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法格式:(返回值是新字符串)

需要匹配的对象.replace(正则式/字符串,替换的目标字符)

 

正则表达式的匹配模式支持的2个标志

   g:表示全局模式(global),即模式将被应用于所有字符串而非发现一个而停止

 

  i:表示不区分大小写(ease-insensitive)模式,在确定匹配想时忽略模式与字符串的大小写

 

 

  1. 封装自己的trim 函数

function trim(str) {

         return str.replace(/(^\s+)|(\s+$)/g,"");  // 去掉前面和后面的空格

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值