2009-12-17 104 views
0

有没有办法检测从textarea或多行文本框中插入的字符串中是否有连续的回车符?在字符串末尾检测两个连续的回车符

这里是场景: 在文本区域,用户输入ABCD“Enter”EFGHI“Enter”JKLMNOP“Enter”“Enter”。在这之后,我需要强制按钮的单击事件 - 而不是form.submit。

下面是Default.aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<%@ Register Src="~/UserControls/Search.ascx" TagName="Search" TagPrefix="ucSearch" %> 
<html xmlns="w3.org/1999/xhtml">; 
<head runat="server"> 
<title></title> </head> 
<body> 
<form id="form1" runat="server"> 
<asp:scriptmanager runat="server"></asp:scriptmanager> 
<div> 
<ucSearch:Search id="search1" runat="server" /> 
</div> 
</form> 
</body> 
</html> 

这是Search.ascx页:

<script language="javascript"> 
var inputString function doit(){inputString = document.getElementById("search1$txtSearchText").value; 
if (inputString.match(/(\n\n|\r\r|\r\n\r\n)$/)) { 
    document.getElementById("search1_btnFindAssets").click(); 
} 

</script> 

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Search.ascx.cs" Inherits="UserControls_Search"%> 
<asp:TextBox ID="txtSearchText" TextMode="MultiLine"onKeyPress="doit();" runat="server"> 
</asp:TextBox> 
<br> 
<asp:ButtonID="btnFindAssets"runat="server"Text="Find"onclick="btnFindAssets_Click"> 
+1

你是指在字符串的末尾或字符串中的任何位置?您的标题和问题主体不匹配。 – 2009-12-17 22:49:34

回答

1

是的,你可以用正则表达式做到这一点:

if (s.match(/\r\r/)) { ... } 

\r字符与回车符匹配。也许你的意思是换行(\n)?您可能还想要处理不同类型的新行'\ r','\ r \ n'或'\ n'。你可以这样做是这样的:

if (s.match(/\n\n|\r\r|\r\n\r\n/)) { ... } 

如果你只是想匹配的字符串的结尾,使用正则表达式符号$

if (s.match(/\r\r$/)) { ... } 

或:

if (s.match(/(\n\n|\r\r|\r\n\r\n)$/)) { ... } 
+0

感谢您的信息。这在您第三次点击“Enter”时有效。例如,我输入“FirstSearchWord”,点击“Enter”(光标前进到下一行),“SecondSearchWord”,点击“Enter”(光标前进到下一行),点击“回车”除非我必须在页面回发之前再次点击“Enter”。任何想法为什么以及如何消除额外的“回车”?谢谢 – Risho 2009-12-21 17:44:34

+0

所以你想在用户在文本框中输入两行后自动提交? – 2009-12-22 10:00:32

3
var isDoubled = yourString.indexOf("\n\n") != -1; 
1
if (/[\r\n]{2,}/.test(myString)) 
{ 
//TODO 
} 

查找两个或更多个连续carrag e返回/新行在任何字符串中的任何位置。

+1

“这只包含一个\ r \ n新行”失败。 – 2009-12-18 07:27:23

+0

千万不要捡起第二个回车。 – Risho 2009-12-21 17:36:06