2013-02-14 42 views
1

我的问题是,我们可以创建一个像IP地址框这样的文本框意味着我们只能在"122.235.25.36"这样的文本框中插入数值,并且所有的点(。)已经保留在那里。文本框是如何工作的IP地址框

我在制作一个应用程序。其中我想在网络地方看到配置网络IP的特定格式的任何IP。 如果这是可能的C#asp.net与jQuery/JavaScript,告诉我。

+0

正则表达式将在这里你的朋友。 – Ash 2013-02-14 09:53:35

+0

“请给我提供适当的解决方案”在这里并不真正顺利:) 你有什么试过?你听说过正则表达式吗?与keypress/keydown事件处理程序结合使用可以在此处使用。 – Umair 2013-02-14 09:55:16

+0

我知道正则表达式,但这是应该完成的字符串的工作。但我想在输入时间 – 2013-02-14 09:56:01

回答

2

你可以与下面的JavaScript下面的表达式中使用正则表达式和匹配功能:

function checkValidIPAddress() { 
var regex = "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b" 

var str = $("#inputBox").val(); 
var pattern = new RegExp(regex); 
return pattern.test(str); 
} 

其中#inputBox是您希望验证的控件的ID。

示范此代码工作的:

http://jsfiddle.net/MHKkX/

从评论:

功能checkValidIPAddress(){ VAR正则表达式=“^(?:[0-9] {1,3}){3} [0-9] {1,3} $“。

var str = $("#inputBox").val(); 
var pattern = new RegExp(regex); 
return pattern.test(str); 

}

$("#inputBox").keyup(function() { 
    if (checkValidIPAddress()) { 
    $("#error").hide(); 
    } else { 
    $("#error").show(); 
} 
}); 

http://jsfiddle.net/MHKkX/7/

+0

你的jsfiddle在这里没有正确的工作,并在完成字符串后检查,但我想在输入的时候这样做。 – 2013-02-14 11:00:03

+0

@Ghost - 我可以修改后的keyup更改等我张贴的小提琴来演示JavaScript函数工作。 – 2013-02-14 11:02:27

+0

我通过字符串'dfdskk 12'检查了这个,但是这并没有给出任何错误信息。 – 2013-02-14 11:04:52