判断url是否存在某个字符

本文介绍了一段JavaScript代码,该代码检查当前页面URL是否包含'password'字符串。如果包含,则为带有'class'名为'password'的元素添加'side_select'类,并将其颜色设置为白色。
var url = location.href;


if (url.indexOf('password') >=1) {
$('.password').addClass('side_select');
$('.password').css('color','#ffffff')
}
<think>我们正在讨论C#中判断字符串是否包含字符串的方法。根据引用,我们可以总结出几种常见方法: 1. 使用String.Contains方法 2. 使用String.IndexOf方法 3. 使用正则表达式 另外,引用[5]还提到了替换方法,但我们的重点是判断是否存在。 下面将分别介绍这些方法,并给出示例代码。</think>### C# 中判断字符串是否包含特定子字符串的方法 在 C# 中,有 **5 种常用方法**可以判断字符串是否包含特定子字符串,每种方法都有其适用场景: #### 1. `Contains()` 方法(最常用) ```csharp string mainStr = "Hello World"; string subStr = "World"; // 使用 Contains() 方法 bool contains = mainStr.Contains(subStr); // 返回 true ``` - **特点**:直接返回布尔值,无需额外判断 - **区分大小写**:默认区分大小写(`"hello".Contains("HELLO")` 返回 false) - **不区分大小写**:添加 `StringComparison` 参数 ```csharp bool containsIgnoreCase = mainStr.Contains(subStr, StringComparison.OrdinalIgnoreCase); ``` #### 2. `IndexOf()` 方法(灵活定位) ```csharp int position = mainStr.IndexOf(subStr); // 返回子字符串的起始索引(≥0 表示存在) if (position >= 0) { Console.WriteLine($"找到子串,位置:{position}"); } ``` - **特点**:可获取子串位置,适合需要定位的场景 - **不区分大小写**: ```csharp int posIgnoreCase = mainStr.IndexOf(subStr, StringComparison.OrdinalIgnoreCase); ``` #### 3. 正则表达式(复杂匹配) ```csharp using System.Text.RegularExpressions; bool isMatch = Regex.IsMatch(mainStr, @"\bWorld\b"); // 使用 \b 匹配单词边界(精确匹配单词) ``` - **适用场景**: - 复杂模式匹配(如邮箱、URL验证) - 需要单词边界匹配时 - 大小写不敏感匹配(添加 `RegexOptions.IgnoreCase`) #### 4. `StartsWith()`/`EndsWith()`(特定位置检查) ```csharp bool startsWith = mainStr.StartsWith("Hello"); // true bool endsWith = mainStr.EndsWith("!"); // false ``` - **特点**:专门检查开头或结尾的匹配 #### 5. LINQ 方法(特殊场景) ```csharp bool containsAny = subStr.Any(c => mainStr.Contains(c)); // 检查主串是否包含子串中任意字符 ``` - **适用场景**:需要检查字符包含关系时 --- ### 性能对比与选择建议 | 方法 | 性能 | 适用场景 | |--------------------|----------|----------------------------------| | `Contains()` | ★★★★☆ | 简单包含检查(最常用) | | `IndexOf()` | ★★★★☆ | 需要获取子串位置的场景 | | 正则表达式 | ★★☆☆☆ | 复杂模式匹配 | | `StartsWith()`等 | ★★★★★ | 检查开头/结尾 | | LINQ | ★★☆☆☆ | 字符级检查 | > **最佳实践**: > 1. 优先使用 `Contains()` - 简洁高效[^3][^4] > 2. 需要位置信息时用 `IndexOf()` > 3. 复杂匹配用正则表达式 > 4. 处理用户输入时**始终考虑大小写问题**: > ```csharp > // 安全做法:统一转换为小写比较 > bool safeCheck = mainStr.ToLower().Contains(subStr.ToLower()); > ``` #### 实际应用示例 ```csharp string userInput = Console.ReadLine(); // 安全检查:不区分大小写 if (userInput.Contains("敏感词", StringComparison.OrdinalIgnoreCase)) { string filtered = userInput.Replace("敏感词", "***", StringComparison.OrdinalIgnoreCase); Console.WriteLine($"过滤后: {filtered}"); } else { Console.WriteLine("输入安全"); } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值