JS~~!!!! /[^\d]/g 是什么意思啊

比如这句obj.value.replace(/[^\d]/g,'')... 比如这句 obj.value.replace(/[^\d]/g,'') 展开
 我来答
百度网友66a8d48e5
推荐于2017-04-13 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3921万
展开全部
不知道楼主看过JS的正则表达式没有?如果没有,下面的解释你听不懂,如果有,则你不用问!

/[^\d]/g
这是一个正则表达式,在JS中正则表达式用//表示,跟在其后的是匹配选项,比如是g表示匹配全局。比如是i则表示忽略大小写,等等,这是匹配模式。
[]则是定界符,其中的字符会出现一次,而[^]则是一个否定运算,表示其中的字符不能出现!如[A-Z]就表示出现一次A-Z中的任何一个字符(当然是大写)如果是[AZ]则表示出现A或Z。[^A-Z]则表示出现的字符不能是A-Z中的任何一个!
而[^0-9]则表示不能出现0-9中的任何一个!其实咱也可以换一种说法,不能出现任何一个数字,那么就可以表示成为[^\d],其中\d是元字符,表示一个数字。那么这里就是不能出现任何一个数字而已!

但我也不知道为什么会这样写,纯粹是胡闹,写程序的人不知道\D是非数字吗?
也就是说[0-9]=[0123456789]=\d=[\d]其实加不[]无关的!
那么[^0-9]=[^0123456789]=[^\d]=\D=[\D]这写法也是可行的!为什么会有这种写法?!胡闹的吧?
华瑞RAE一级代理商
2024-04-11 广告
impulse-4-xfxx是我们广州江腾智能科技有限公司研发的一款先进产品,它结合了最新的技术创新和市场需求。此产品以其卓越的性能和高效的解决方案,在行业内树立了新的标杆。impulse-4-xfxx不仅提升了工作效率,还为用户带来了更优... 点击进入详情页
本回答由华瑞RAE一级代理商提供
海角的瞭望
2017-11-08
知道答主
回答量:5
采纳率:0%
帮助的人:2951
展开全部
1、.replace(a,b) b代替a;
2、[^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^\d]' 可以匹配 不包含数字(\d)的任意字符。
3、.value.replace(/[^\d]/g,''),就是将.value内非数字的值替换为空('');
例如 <input type="text" onkeyup="value=value.replace(/[^\d]/g,'') "/>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式