JS~~!!!! /[^\d]/g 是啥意思啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS~~!!!! /[^\d]/g 是啥意思啊相关的知识,希望对你有一定的参考价值。
比如这句 obj.value.replace(/[^\d]/g,'')
不知道楼主看过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]这写法也是可行的!为什么会有这种写法?!胡闹的吧? 参考技术A 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,'') "/>
以上是关于JS~~!!!! /[^\d]/g 是啥意思啊的主要内容,如果未能解决你的问题,请参考以下文章
JS 正则表达式:如 <input type="text" onkeyup="this.value=this.value.replace(/\D
正则表达式 只能输入数字和小数点,小数点后2位,并且支持FF3浏览器,应当怎么些?
js里 str.replace(/^\s*(.*?)[\s\n]*$/g, '$1')
win7用CMD运行出乱码 用批处理文件运行的REM - BY WINDOWS SETUP - LH d:\WIN95\COMMAND\MSCDEX.EXE /d:M