正则表达式不匹配字母,数字和空格任意组合

这段时间要写一个正则验证用户输入的手机号,要求只要有数字,哪里有空格都给验证通过,但不能有字母,也不能为空,还不能只有空格没有数字。苦思冥想了好久,终于解决了,所以纪录一下,免得被自己差劲的正则搞死。

/ ^ (?! . * [a-zA-Z] ) \s * \d /
说明一下, 正则表达式中有(?=a)和(?!a)来表示我们是否需要匹配某个东西,所以不要字母,就是(?![a-zA-Z]),但是正则匹配总是要有个头或者尾的(不知道这样理解对不对),所以字母前面有任意东西也是应该可以让它通过的,所以--->用.*来表示字母之前可能有其他的字符,为什么还要加^呢,因为如果不加的话,可能匹配到字母之后的这个位置上了就会没有一个头或者尾。好的,到目前为止,/^(?!.*[a-zA-Z])/已经可以做到剔除字母了,但是不输入,或者只输入空格,都是可以通过的。那么在后面再加上,要有数字,和0到多个空格就可以了。所以得---> /^(?!.*[a-zA-Z]\s*\d)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值