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”都是假的。我想检查哈希是否只包含数字。我错过什么了吗?
当前回答
如您所说,您希望哈希只包含数字。
const reg = new RegExp('^[0-9]+$');
or
const reg = new RegExp('^\d+$')
\d和[0-9]都是同一个意思。 使用+表示搜索[0-9]中的一个或多个。
其他回答
也许它有用:
let a = "1234"
parseInt(a) == a // true
let b = "1234abc"
parseInt(b) == b // false
var validation = {
isEmailAddress:function(str) {
var pattern =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
return pattern.test(str); // returns a boolean
},
isNotEmpty:function (str) {
var pattern =/\S+/;
return pattern.test(str); // returns a boolean
},
isNumber:function(str) {
var pattern = /^\d+\.?\d*$/;
return pattern.test(str); // returns a boolean
},
isSame:function(str1,str2){
return str1 === str2;
}
};
alert(validation.isNotEmpty("dff"));
alert(validation.isNumber(44));
alert(validation.isEmailAddress("mf@tl.ff"));
alert(validation.isSame("sf","sf"));
如果你只需要正整数而不需要前导零(例如。"0001234"或"00"):
var reg = /^(?:[1-9]\d*|\d)$/;
这个函数也允许有符号和浮点数或空字符串:
var reg = /^-?\d*\.?\d*$/
如果你不想让空字符串使用这个:
var reg = /^-?\d+\.?\d*$/
如您所说,您希望哈希只包含数字。
const reg = new RegExp('^[0-9]+$');
or
const reg = new RegExp('^\d+$')
\d和[0-9]都是同一个意思。 使用+表示搜索[0-9]中的一个或多个。