2013-05-03 52 views
-2

它需要一个文本字段的值,我试图拥有它,所以如果有任何数字在字段中,那么我能够阻止它。JavaScript - 检查文本字段中的数字

function hasNumbers(input) { 

    var length = input.length; 
    var end = 0; 

    for (var x = 0; x < length; x++) { 
     var char = input.substring(x, 1); 
     trueFalse = isNaN(char); 
     if (! trueFalse) { 
      end++; 
     } 
    } 

    if (end > 0) { 
     return false; 
    } 

    return true; 
} 
+0

您有问题吗? – SLaks 2013-05-03 00:36:06

+0

'if(/^[^\d]+$/.test(value))// value has no number' – elclanrs 2013-05-03 00:40:09

+0

这是迄今为止:http://jsfiddle.net/UTtxA/29/ – Peter 2013-05-03 00:41:04

回答

5

你可以用这个代替你的函数:

function hasNumbers(input) { 
    return /[0-9]/.test(input); 
} 

/[0-9]/构建匹配任何数字字符正则表达式。

一旦你有一个正则表达式对象,你可以调用测试(S),看是否小号正则表达式匹配。

这里是more information about the RegExp.test() method

这里是一般的more info on regular expressions

这是显示上述代码的fiddle

这里是another fiddle,它显示了验证文本输入的上述函数。

+0

这是什么?你能解释它是如何工作的吗? – Peter 2013-05-03 00:44:34

+0

@Peter从这里开始http://www.regular-expressions.info/ – elclanrs 2013-05-03 00:45:46

+0

我正在添加一些解释的过程......这本质上是如何使用_regular expression_的最基本示例之一。正则表达式是处理文本的一种非常强大的方式,并且在大多数编程环境中都可用(您也可以在grep,vi以及其他许多地方使用它们)。一旦你开始了解他们如何工作,你会惊讶! – jahroy 2013-05-03 00:46:12