为了账号安全,请及时绑定邮箱和手机立即绑定

正则匹配只能是数字字母,开始和结束到底匹配到哪里?

正则匹配只能是数字字母,开始和结束到底匹配到哪里?

慕姐4208626 2018-09-24 16:15:59
正则匹配只能是数字字母,开始和结束到底匹配到哪里。let reg2=/^[a-zA-Z0-9]+$/        let reg1=/[a-zA-Z0-9]+/;//匹配至少含有一个数字或字母的字符串         let reg2=/^[a-zA-Z0-9]+$/;//?这个开始和结尾到底匹配到哪里                   console.log(reg1.test(''));//false         console.log(reg1.test('a-'));//true         console.log(reg1.test('13232-3213'));//true         console.log(reg1.test('423432432'));//true         console.log(reg2.test(''));//false         console.log(reg2.test('a-'));//false         console.log(reg2.test('13232-3213'));//false         console.log(reg2.test('423432432'));//true
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

^匹配字符串的开始,匹配一个位置;
$匹配字符串的结束,匹配一个位置;
/^[a-zA-Z0-9]+$/的意思就是首先要匹配字符串开始,然后是1到多个字母或者数字,然后是字符串的结束,总结一下就是整个字符串就是由1到多个字母和数字组成的。

你可以使用字符串的match方法进一步查看匹配的情况,test只会返回true或者false,并不提供匹配的具体的字符串:

let reg1=/[a-zA-Z0-9]+/g;
let reg2=/^[a-zA-Z0-9]+$/g; 
'13232-3213'.match(reg1) // ["13232", "3213"]'423432432'.match(reg1) // ["423432432"]'13232-3213'.match(reg2) // null'423432432'.match(reg2) // ["423432432"]


查看完整回答
反对 回复 2018-09-24
  • 1 回答
  • 0 关注
  • 914 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信