2013-02-14 48 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