我的最终目标是验证输入字段。输入可以是字母也可以是数字。


当前回答

你可以使用javascript来做到这一点。不需要Jquery或Regex

function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

而实现

var val = $('yourinputelement').val();
if(isNumeric(val)) { alert('number'); } 
else { alert('not number'); }

更新:要检查字符串中是否有数字,可以使用正则表达式来检查

var matches = val.match(/\d+/g);
if (matches != null) {
    alert('number');
}

其他回答

你可以使用javascript来做到这一点。不需要Jquery或Regex

function isNumeric(n) 
{
  return !isNaN(n);
}

你可以使用javascript来做到这一点。不需要Jquery或Regex

function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

而实现

var val = $('yourinputelement').val();
if(isNumeric(val)) { alert('number'); } 
else { alert('not number'); }

更新:要检查字符串中是否有数字,可以使用正则表达式来检查

var matches = val.match(/\d+/g);
if (matches != null) {
    alert('number');
}

你也可以试试lodash:

const isNumeric = number => 
  _.isFinite(_.parseInt(number)) && !_.isNaN(_.parseInt(number))

如果我没记错的话,这个问题需要“contains number”,而不是“is number”。所以:

function hasNumber(myString) {
  return /\d/.test(myString);
}

无论如何,它都不是刀枪不入的,但它对我来说是有效的,也许它会帮助到别人。

var value = $('input').val();
 if(parseInt(value)) {
  console.log(value+" is a number.");
 }
 else {
  console.log(value+" is NaN.");
 }