You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测字符串中的不支持字符?及对应JS逻辑的C#实现

实现等价的C#字符检测功能

没问题,我帮你把这段JavaScript的字符检测逻辑转换成完全等价的C#代码,确保功能和原代码100%一致:

public static bool VerifyTextUnicodeCharacters(string text)
{
    List<int> notSupportArray = new List<int>();
    
    // 和JS代码保持一致,从字符串末尾往前遍历
    for (int i = text.Length - 1; i >= 0; i--)
    {
        int charCode = (int)text[i];
        
        // 完全复用原JS的允许字符判断条件
        bool isAllowed = (charCode == 33) || 
                         (charCode == 35) || 
                         (charCode == 38) || 
                         (charCode >= 40 && charCode <= 42) || 
                         (charCode == 46) || 
                         (charCode >= 48 && charCode <= 57) || 
                         (charCode >= 65 && charCode <= 91) || 
                         (charCode == 93) || 
                         (charCode == 95) || 
                         (charCode >= 97 && charCode <= 123) || 
                         (charCode == 125);
        
        if (!isAllowed)
        {
            notSupportArray.Add(charCode);
        }
    }
    
    return notSupportArray.Count == 0;
}

细节说明(和原JS代码完全对齐):

  • 遍历顺序:和你的JS代码一样从字符串最后一位开始往前遍历,虽然这个顺序不影响最终结果,但为了完全复刻逻辑保持一致
  • 字符编码获取:C#里(int)text[i]拿到的是字符的Unicode码值,和JS的charCodeAt行为一致(因为这里判断的都是ASCII范围内的字符,没有差异)
  • 允许字符规则:完全照搬原JS里的条件,确保所有允许/禁止的字符和原代码完全相同
  • 返回逻辑:当没有不支持的字符时返回true,否则返回false,和原JS的返回值逻辑一致

你可以像调用JS函数一样使用这个C#方法,比如:

bool result = VerifyTextUnicodeCharacters("My_string");

内容的提问来源于stack exchange,提问作者Jerry61

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 11:47:57