I would say that val is not a string.
I get the
val.match is not function
error for the following
var val=12;
if(val.match(/^s+$/) || val == ""){
document.write("success: " + val);
}
The error goes away if you explicitly convert to a string String(val)
var val=12;
if(String(val).match(/^s+$/) || val == ""){
document.write("success: " + val);
}
And if you do use a string you don’t need to do the conversion
var val="sss";
if(val.match(/^s+$/) || val == ""){
document.write("success: " + val);
}