在C#中验证字符串

时间:2015-09-26 17:56:32

标签: c#

嗨所以我试图在这里验证我的字符串,以便它不允许任何以“911”开头的输入,所以如果你输入:“9 11”,“91 1”,“9 1 1”它应该去通过我的if语句。它适用于“911”而不是其他,这是我的代码:

using System;
using System.Collections.Generic;

namespace Phone_List
{
    class Program
    {
        static void Main(string[] args)
        {
            var phoneList = new List<string>();
            string input;
            Console.WriteLine("Input: ");

            while ((input = Console.ReadLine()) != "")
            {
                phoneList.Add(input);

                for (int i = 0; i < phoneList.Count; i++)
                {
                    if (phoneList[i].Substring(0, 3) == "911")
                    {
                        input.StartsWith("9 11");
                        input.StartsWith("9 1 1");
                        input.StartsWith("91 1");
                        Console.WriteLine("NO");
                        Console.ReadLine();
                        return;
                    }

                    else
                    {
                        Console.WriteLine("YES");
                        Console.ReadLine();
                        return;
                    }
                }
            }
        }
    }
}

正如您所看到的,我正在尝试使用“input.StartsWith("9 11");”但它不起作用......

4 个答案:

答案 0 :(得分:2)

您可以使用String的{​​{3}}方法;您描述的条件可以表述如下。

input.Replace(" ", "").StartsWith("911")

答案 1 :(得分:1)

使用正则表达式进行这样的检查。

例如:

func getjson() {
        let urlPath = "https://api.whitehouse.gov/v1/petitions.json?limit=100"
        let url = NSURL(string: urlPath)
        let session = NSURLSession.sharedSession()
        let task = session.dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in
            print("Task completed")
            if(error != nil) {
                print(error!.localizedDescription)
            }
            let err: NSError?
            if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary {
                if(err != nil) {
                    print("JSON Error \(err!.localizedDescription)")
                }
                if let results: NSArray = jsonResult["results"] as? NSArray {
                    dispatch_async(dispatch_get_main_queue(), {
                        self.tableData = results
                        self.Indextableview.reloadData()
                    })
                }
            }
        })

        task.resume()

    }

此正则表达式匹配包含“911”前面和之间的空格的所有字符串。

答案 2 :(得分:0)

使用以下内容检查字符串是否以$("button span")[0].scrollWidth 开头:

首先从输入字符串创建一个副本但没有任何空格:

"911"

然后你可以检查字符串是否以911开头:

string input_without_white_spaces =
    new string(input.ToCharArray().Where(x => !char.IsWhiteSpace(x)).ToArray());

答案 3 :(得分:0)

bool valid = s.StartsWith("911") || 
            !string.Join("",s.Split()).StartsWith("911");