溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js、C#中正則表達式怎么用

發(fā)布時間:2021-09-06 16:54:36 來源:億速云 閱讀:140 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹了js、C#中正則表達式怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

js中的正則表達式使用

function myValid() {
  var errorMsg = "";
  var res = true;
  //拿到要驗證的值.
  var receiveName = $("#receiveName").val();//姓名
  var receiveMobile = $("#tMobile").val();//手機號
  var validCode = $("#validCode").val();//驗證碼

  var regName = /^[\u4e00-\u9fa5]{2,4}$/;//驗證姓名
  var regMobile = /^1[3|4|5|7|8][0-9]\d{8}$/;//驗證手機
  var regCode = /^\d{4}$/;//驗證碼
  if (!regName.test(receiveName)) {
  errorMsg += "姓名格式不正確;\n\r";
  res = false;
  }
  if (!regMobile.test(receiveMobile)) {
  errorMsg += "手機號格式不正確;\n\r";
  res = false;
  }
  if (!regCode.test(validCode)) {
  errorMsg += "請輸入4位的數(shù)字驗證碼;\n\r";
  res = false;
  }
  if (!res) {
  $.ligerDialog.error(errorMsg, "錯誤提示");
  }
  return res;
}

C#中的正則表達式使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 正則表達式
{
  using System.Text.RegularExpressions;//正則表達式的命名空間
  class Program
  {
    static void Main(string[] args)
    {
      /*
       * 正則的匹配原則:
       * 1.只關注有沒有能夠進行匹配的字符串,而不關注它的位置,及其它不能匹配的部分。
       * 2.貪婪模式:正則會盡可能多的進行匹配,也就意味著它會匹配到能夠進行匹配的最后一個字符串
       */
      while(true)
      {
        string str = Console.ReadLine();
        #region 元字符_占位符
        //方法的作用是  判斷str是否匹配 自定義的正則表達式規(guī)則        
        //1. .:代表一個字符占位,可以代表任意一個字符,必須傳入一個字符,可以是中文
        Console.WriteLine(Regex.IsMatch(str, "b.g"));
        //2.[]:代表一個指定范圍的單個字符,你可以指定間斷的值,也可以指定連續(xù)的范圍: 0-9 A-Z  a-z   合法字符:0-9 A-Z  a-z _
        Console.WriteLine(Regex.IsMatch(str, "b[0-9]g"));
        //在正則里面,^只能寫在開頭,如果在中間寫,^就是一個普通的字符了
        Console.WriteLine(Regex.IsMatch(str, "b[0-9A-Z^a-z_]g"));
        Console.WriteLine(Regex.IsMatch(str, "b[^0-9A-Za-z_^]g"));
        //這里[0-z]會包含0-z之間的所有字符,也包含一些特殊符號
        //正在分析“b[9-1]g”- [x-y] 范圍的順序顛倒。 只能按ASCII碼的順序從小到大
        Console.WriteLine(Regex.IsMatch(str, "b[9-1]g"));
        Console.WriteLine(Regex.IsMatch(str, "b[0-9-]g"));
        // 11-19
        Console.WriteLine(Regex.IsMatch(str, "[11-19]")); // 1  1-1  9
        Console.WriteLine(Regex.IsMatch(str, "b[^0-9]g")); 
        // |:或者
        Console.WriteLine(Regex.IsMatch(str, "[0-9][0-9]|[0-9][0-9][0-9]")); //hjasdgf1234fjhadsjfhas
        // 如果涉及到嚴格的位數(shù)匹配,就需要添加 開始 ^和結束$:代表字符從開始到結束必須嚴格的匹配正則
        Console.WriteLine(Regex.IsMatch(str, "^[0-9][0-9]$|^[0-9][0-9][0-9]$"));
        //包含在[]里面的都是普通字符,而不是元字符,除了^--需要后面有內容,如果需要匹配,則可以考慮使用轉義\
        Console.WriteLine(Regex.IsMatch(str, @"^\^$"));
        Console.WriteLine(Regex.IsMatch(str, "^\\^$")); 
        #endregion

        #region 元字符_修飾符
        // *:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾 *前面的子表達式出現(xiàn)0次或者多次:子表達式就是默認指*前面的那一個字符,如果需要代表多個,就使用()包含
        Console.WriteLine(Regex.IsMatch(str, "ab*g"));
        Console.WriteLine(Regex.IsMatch(str, "^(ab)*g$"));
        //+:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾 +前面的子表達式出現(xiàn)1次或者多次:子表達式就是默認指+前面的那一個字符,如果需要代表多個,就使用()包含
        Console.WriteLine(Regex.IsMatch(str, "a+g"));
        //? :它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾 ?前面的子表達式出現(xiàn)0次或者1次:子表達式就是默認指?前面的那一個字符,如果需要代表多個,就使用()包含
        Console.WriteLine(Regex.IsMatch(str, "^a?g$"));
        // {n,m}:{n,m}它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾{n,m}前面的子表達式最少出現(xiàn)n次,最多出現(xiàn)m次
        Console.WriteLine(Regex.IsMatch(str, "^[0-9]{3,4}$"));
        //{n}:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾{n}前面的子表達式只能出現(xiàn)n次
        Console.WriteLine(Regex.IsMatch(str, "^[1-9][0-9]{17}$|^[0-9]{15}$|^[0-9]{17}[xX]$"));
        //{n,}:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾{n,}前面的子表達式最少出現(xiàn)n次,最多沒有限制
        Console.WriteLine(Regex.IsMatch(str, "^[0-9]{3,}$"));
        Console.WriteLine(Regex.IsMatch(str, "^q*$"));
        #endregion

        //在c#中判斷登錄名是是否包含特殊符號:[^0-9A-Za-z_]  :也不能包含中文
        #region 簡寫表達式
        //\d:代表一個數(shù)字,等同于[0-9] 
        Console.WriteLine(Regex.IsMatch(str, @"^\d{3,}$"));
        //\D:非數(shù)字
        Console.WriteLine(Regex.IsMatch(str, @"\D"));
        //\s:空字符:空格,制表位,換行
        Console.WriteLine(Regex.IsMatch(str, @"\s"));
        //\S:非空白字符
        Console.WriteLine(Regex.IsMatch(str, @"\S"));
        // \w:[0-9 a-z A-Z _ 中文]
        Console.WriteLine(Regex.IsMatch(str, @"\w"));
        //\W:除了[0-9 a-z A-Z _ 中文]之外的特殊符號
        Console.WriteLine(Regex.IsMatch(str, @"\W"));
        #endregion        
      }

      //判斷字符串是否為正確的國內電話號碼,不考慮分機。
      //010-8888888或010-88888880或010xxxxxxx
      //0335-8888888或0335-88888888(區(qū)號-電話號)
      //10086、10010、95595、95599、95588(5位)
      //13888888888(11位都是數(shù)字)
      while (true)
      {
        string str = Console.ReadLine();
        //不要試圖一步到位,應該一個一個來進行匹配
        Console.WriteLine(Regex.IsMatch(str,@"^\d{3,4}[-]?\d{7,8}$|^[1-9]\d{4}$|^1[3-9]\d{9}$"));
      }

      //驗證用戶輸入的電子郵箱的合法性 wuhu0723@126.com
      while (true)
      {
        string str = Console.ReadLine();
        //不要試圖一步到位,應該一個一個來進行匹配
        Console.WriteLine(Regex.IsMatch(str, @"^[0-9A-Za-z_]+[@][0-9A-Za-z_]+[.][A-Za-z]{2,5}$"));
      }
    }
  }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“js、C#中正則表達式怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI