[英]Javascript: unable to understand the meaning of regex
不幸的是,我已经从某个站点实现了此代码,我不知道if (/\\D/g.test(this.value))
的含义,请告诉我
完整的代码:
$(document).ready(function() {
$('.positionclass').bind('keyup blur',function(){
if (/\D/g.test(this.value))
{
// Filter non-digits from input value.
this.value = this.value.replace(/\D/g, '');
}
});
});
/\\D/g
是什么意思?
在正则表达式中, \\d
与数字匹配,而\\D
与非数字匹配。
“ g”标志代表“ global”,因此您可以有效地确保要测试的字符串的每个字符都不是数字。
如果您没有指定“ g”标志,那么您将只针对字符串中的第一个匹配项测试正则表达式。
\\D
匹配任何非数字字符。
\\D
元字符用于查找非数字字符,而g
修饰符用于执行全局匹配。 因此,如果一起使用,它将在字符串中搜索非数字字符。
这可能会帮助您: http : //www.w3schools.com/jsref/jsref_regexp_digit_non.asp
\\d
匹配十进制字符。
\\D
与\\d
相反,匹配任何非十进制数字g
-g修饰符(javascript定义)用于执行全局匹配(查找所有匹配项,而不是在第一个匹配项后停止)。
test
-test()方法测试字符串中的匹配项。
例如:
var term = 'aaaa';
if (/\D/g.test(term)) {
alert('yeah! non decimal found');
}
else {
alert('baaa... only decimal found');
}
更多示例:
\\ D元字符用于查找非数字字符,并且在所有主要浏览器中均受支持。
g表示全局,并导致replace调用替换所有匹配项,而不仅仅是第一个匹配项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.