检测字符串末尾的两个连续回车符

时间:2009-12-17 22:33:42

标签: javascript

有没有办法检测从textarea或多行文本框中提取的字符串中是否有2个连续的回车符?

以下是该方案: 在文本区域中,用户输入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">

3 个答案:

答案 0 :(得分:3)

var isDoubled = yourString.indexOf("\n\n") != -1;

答案 1 :(得分: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)$/)) { ... }

答案 2 :(得分:1)

if (/[\r\n]{2,}/.test(myString))
{
//TODO
}

在字符串中的任何位置查找两个或多个连续的回车符/换行符。