检查文本框是否包含任何数字

时间:2014-01-01 00:30:38

标签: c# javascript asp.net

我有2个文本框,我正在尝试创建一个JS函数来检查这些文本框是否

仅包括数字,但似乎没有任何作品!任何想法为什么??!?!

如果它们不包含任何数字,那么信息将提交。

这是我的JS功能:

 function checkName(sender, args) {
        var letters = "/^[0-9a-zA-Z]+$/";
        var firstName = $find("<%=txtFirstName.ClientID %>");
        var l_firstNametxt = firstName.get_value();
        var lastName = $find("<%=txtLastName.ClientID %>");
        var l_lastNametxt = lastName.get_value();
        if (l_firstNametxt = letters) {
            if (l_lastNametxt = letters) {
                alert("nice try!");
            }
        }
        else {
            __doPostBack("<%=btnAddPerson.UniqueID %>", "");

        }
      }

2 个答案:

答案 0 :(得分:3)

您的功能有几个问题。

首先,您似乎尝试使用regular expression,但在JS中,正则表达式文字声明为,而在其周围加上引号。所以使用这个:

var letters = /^[0-9a-zA-Z]+$/;      // NOT var letters = "/^[0-9a-zA-Z]+$/";

其次,在您的两个if语句中,您使用= 分配值,而不是使用=====运算符进行比较,在任何情况下都没有使用等于运算符进行正则表达式测试,你必须使用正则表达式方法,如.test()

    if (letters.test(l_firstNametxt)) {
        if (letters.test(l_lastNametxt)) {

通过这些更改,您的代码至少应该“正常工作”,但它仍然无法按照您的意愿执行:您说您要测试文本框是否包含“任何数字”,但是常规您尝试使用的表达式允许使用数字和字母。要测试“任何数字”,您可以使用此正则表达式:

/[0-9]/

...可以简化为/\d/

答案 1 :(得分:0)

因为你问“我正在尝试创建一个JS函数来检查这些文本框是否正确 仅包括数字“,更简单的方法是使用isNaN()函数。

function isNumber(val) {
    if(!isNaN(val))
        return true;
    else
        return false;
}