我在asp.net頁面上有一個文本框,我希望沒有人不能在文本框中插入空格。如何從asp.net中的文本框開頭刪除空格
例如:「尼克卡特」< -----錯誤格式,不應該發生,必須刪除空格。
「尼克·卡特」 < -----正確的格式,
我不知道如何從文本框中非常begining修剪白sapce。
謝謝
我在asp.net頁面上有一個文本框,我希望沒有人不能在文本框中插入空格。如何從asp.net中的文本框開頭刪除空格
例如:「尼克卡特」< -----錯誤格式,不應該發生,必須刪除空格。
「尼克·卡特」 < -----正確的格式,
我不知道如何從文本框中非常begining修剪白sapce。
謝謝
JavaScript解決方案。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script>
function trimTextBox(sender) {
// keyCode == 32 is space(' ').
if ((sender.value.length == 0 || sender.selectionStart == 0) && (window.event.keyCode == 32)){
return false;
}
else if (sender.value.charCodeAt(0) == 32) {
sender.value = sender.value.substring(1);
}
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txt1" runat="server" onkeypress="return trimTextBox(this)"></asp:TextBox>
</div>
</form>
</body>
</html>
請注意,這將部分適用於粘貼。它不會刪除粘貼時的空白,而是粘貼後的按鍵。
是的,我工作,但只適用於按鍵。反正謝謝。 –
使用下面的正則表達式來刪除空格。
string Result=" Nick Carter";
Result = Regex.Replace(Result, "\\s+", " ");
由於Asp.Net是根據MVC模式設計的,因此有3個興趣點需要考慮。
(1)
對於UI /視圖 您可以使用字段驗證完成那。 你需要的是Regex字段驗證器。 你可以閱讀關於如何在這裏使用它:
How To: Use Regular Expressions to Constrain Input in ASP.NET
(2)
所以,儘管這個解決方案將在UI方面解決問題.. 你可能想確保你的服務器端控制器也限制這一點。 爲此,您可以在ASPX代碼中調用textbox1.Trim()或使用regex命令。
(3)
接下來,你的業務邏輯。如果你創建了POCO的,你可能想要把一個驗證碼,其中接收輸入的財產,或者如果你喜歡你的POCO的多功能,你可以去你的業務邏輯方法並在即將處理輸入信息之前進行檢查。
如果我是你,我會實現了對現場驗證,並做是要處理的信息的API方法的第2次檢查,我寧願不改變後面的ASPX代碼或模型道具。
但這當然更多的是風格或意見的問題。
private string RemoveSpaces(string text)
{
var reg = new System.Text.RegularExpressions.Regex(" +");
return reg.Replace(text, " ").Trim();
}
這是所有雙空間,並開始和結束空間
我認爲這是確定的,如果有人把一個空白,重要的是,你需要的時候,他提交表單刪除它,做它與:'textbox1.Trim();' –
此方法不起作用,因爲我不知道用戶將插入多少空白區域。 –
String.Trim從當前String對象中刪除**所有**前導和尾隨空格字符。 – Zerkey