hash = window.location.hash.substr(1);
var reg = new RegExp('^[0-9]$');
console.log(reg.test(hash));
“123”和“123f”都是假的。我想检查哈希是否只包含数字。我错过什么了吗?
hash = window.location.hash.substr(1);
var reg = new RegExp('^[0-9]$');
console.log(reg.test(hash));
“123”和“123f”都是假的。我想检查哈希是否只包含数字。我错过什么了吗?
当前回答
var pattern = /[0-9!"£$%^&*()_+-=]/;
这试图避免一些场景,以防万一:
溢出原始字符串可能传递到的任何缓冲区。 由1E-323等非正常数字引起的缓慢或异常。 当期望有一个有限的数字时通过无穷大(尝试1E309或-1E309)。
其他回答
\d将不匹配小数点。小数用下面的形式表示。
const re = /^\d*(\.\d+)?$/
'123'.match(re) // true
'123.3'.match(re) // true
'123!3'.match(re) // false
如果你只需要正整数而不需要前导零(例如。"0001234"或"00"):
var reg = /^(?:[1-9]\d*|\d)$/;
简单的Regex javascript
var cnpj = "12.32.432/1-22";
var rCnpj = cnpj.replace(/\D/gm,"");
console.log(cnpj);
*结果:
1232432122
只检查数字:
if(rCnpj === cnpj){
return true;
}
简单的例子
if("12.32.432/1-22".replace(/\D/gm,"").length > 0){
console.log("Ok.");
}
如您所说,您希望哈希只包含数字。
const reg = new RegExp('^[0-9]+$');
or
const reg = new RegExp('^\d+$')
\d和[0-9]都是同一个意思。 使用+表示搜索[0-9]中的一个或多个。
如果数字不是特别大,可以用:
new RegExp(
'^' + // No leading content.
'[-+]?' + // Optional sign.
'(?:[0-9]{0,30}\\.)?' + // Optionally 0-30 decimal digits of mantissa.
'[0-9]{1,30}' + // 1-30 decimal digits of integer or fraction.
'(?:[Ee][-+]?[1-2]?[0-9])?' + // Optional exponent 0-29 for scientific notation.
'$' // No trailing content.
)
这试图避免一些场景,以防万一:
溢出原始字符串可能传递到的任何缓冲区。 由1E-323等非正常数字引起的缓慢或异常。 当期望有一个有限的数字时通过无穷大(尝试1E309或-1E309)。