有没有办法检测从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">
答案 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
}
在字符串中的任何位置查找两个或多个连续的回车符/换行符。