JS-限定符号( ^ 和 $ 与 * + ? {n} {n,} {n,m} )

一.限定符号

限定符号
        
边界符
^    表示开头
$    表示结尾

// 以数字开头即可,之后的内容,不做限定
        var reg1 = /^\d/;

console.log(reg1.test('123'));true
console.log(reg1.test('123abc'));true
console.log(reg1.test('abc123'));false

// 以数字结尾,就看结尾,之前有什么内容不管
        var reg2 = /\d$/;

console.log(reg2.test('123'));true
console.log(reg2.test('123abc'));false
console.log(reg2.test('abc123'));true

// 如果开头结尾都加上了,限定效果就不同了
// 只能有一个字符串,并且这个字符是数字   只能有一个数字字符
// 字符个数和内容,只要一个不符合就都不行
        var reg3 = /^\d$/;
console.log(reg3.test('1'));true
console.log(reg3.test('-1'));false
console.log(reg3.test('a'));false
console.log(reg3.test('123'));false
console.log(reg3.test('123abc'));false
console.log(reg3.test('abc123'));false
console.log(reg3.test('123abc123'));false


限定符 限定出现次数
一般都要和边界符配合使用,否则执行效果有问题

*      表示允许的次数是 0 至 正无穷次    有没有都行
+      表示允许的次数是 1 至 正无穷次    至少有一个
?      表示允许的次数是 01          最多有一次
{n}    表示允许的次数是 n 次 ,n的数值 是自定义数值
{n,}   表示允许的次数是 n 次以上,包括n次  最少是n次,多个不管
       也就是 n 至 正无穷 次
{n,m}  表示允许的次数是 n 至 m 次   包括n和m 


// 只能是数字字符,字符个数没有要求
        var reg4 = /^\d*$/;
console.log( reg4.test('1') );true
console.log( reg4.test('') );true
console.log( reg4.test('123') );true
console.log( reg4.test('123abc') );false
console.log( reg4.test('123abc123') );false

// 必须是数字字符,至少出现1个数字字符
        var reg5 = /^\d+$/;
console.log( reg5.test('1') );true
console.log( reg5.test('') );false
console.log( reg5.test('123') );true
console.log( reg5.test('123abc') );false
console.log( reg5.test('123abc123') );false

// 必须是数字字符,最多只能有0个或者1个字符
        var reg6 = /^\d?$/;
console.log( reg6.test('1') );true
console.log( reg6.test('') );true
console.log( reg6.test('123') );false
console.log( reg6.test('123abc') );false
console.log( reg6.test('123abc123') );false

// 只能是3个数字字符
        var reg7 = /^\d{3}$/;
console.log( reg7.test('1') );false
console.log( reg7.test('') );false
console.log( reg7.test('123') );true
console.log( reg7.test('123abc') );false
console.log( reg7.test('123abc123') );false

// 必须都是数字字符,并且至少有一个数字字符
        var reg8 = /^\d{1,}$/;
console.log( reg8.test('1') );true
console.log( reg8.test('') );false
console.log( reg8.test('123') );true
console.log( reg8.test('123abc') );false
console.log( reg8.test('123abc123') );false

// 都是数字,1至3次
        var reg9 = /^\d{1,3}$/;
console.log( reg9.test('1') );true
console.log( reg9.test('') );false
console.log( reg9.test('123') );true
console.log( reg9.test('123abc') );false
console.log( reg9.test('123abc123') );false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值