function myValid() {
var errorMsg = "";
var res = true;
//拿到要驗(yàn)證的值.
var receiveName = $("#receiveName").val();//姓名
var receiveMobile = $("#tMobile").val();//手機(jī)號(hào)
var validCode = $("#validCode").val();//驗(yàn)證碼
var regName = /^[\u4e00-\u9fa5]{2,4}$/;//驗(yàn)證姓名
var regMobile = /^1[3|4|5|7|8][0-9]\d{8}$/;//驗(yàn)證手機(jī)
var regCode = /^\d{4}$/;//驗(yàn)證碼
if (!regName.test(receiveName)) {
errorMsg += "姓名格式不正確;\n\r";
res = false;
}
if (!regMobile.test(receiveMobile)) {
errorMsg += "手機(jī)號(hào)格式不正確;\n\r";
res = false;
}
if (!regCode.test(validCode)) {
errorMsg += "請(qǐng)輸入4位的數(shù)字驗(yàn)證碼;\n\r";
res = false;
}
if (!res) {
$.ligerDialog.error(errorMsg, "錯(cuò)誤提示");
}
return res;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 正則表達(dá)式
{
using System.Text.RegularExpressions;//正則表達(dá)式的命名空間
class Program
{
static void Main(string[] args)
{
/*
* 正則的匹配原則:
* 1.只關(guān)注有沒(méi)有能夠進(jìn)行匹配的字符串,而不關(guān)注它的位置,及其它不能匹配的部分。
* 2.貪婪模式:正則會(huì)盡可能多的進(jìn)行匹配,也就意味著它會(huì)匹配到能夠進(jìn)行匹配的最后一個(gè)字符串
*/
while(true)
{
string str = Console.ReadLine();
#region 元字符_占位符
//方法的作用是 判斷str是否匹配 自定義的正則表達(dá)式規(guī)則
//1. .:代表一個(gè)字符占位,可以代表任意一個(gè)字符,必須傳入一個(gè)字符,可以是中文
Console.WriteLine(Regex.IsMatch(str, "b.g"));
//2.[]:代表一個(gè)指定范圍的單個(gè)字符,你可以指定間斷的值,也可以指定連續(xù)的范圍: 0-9 A-Z a-z 合法字符:0-9 A-Z a-z _
Console.WriteLine(Regex.IsMatch(str, "b[0-9]g"));
//在正則里面,^只能寫在開(kāi)頭,如果在中間寫,^就是一個(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]會(huì)包含0-z之間的所有字符,也包含一些特殊符號(hào)
//正在分析“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
// 如果涉及到嚴(yán)格的位數(shù)匹配,就需要添加 開(kāi)始 ^和結(jié)束$:代表字符從開(kāi)始到結(jié)束必須嚴(yán)格的匹配正則
Console.WriteLine(Regex.IsMatch(str, "^[0-9][0-9]$|^[0-9][0-9][0-9]$"));
//包含在[]里面的都是普通字符,而不是元字符,除了^--需要后面有內(nèi)容,如果需要匹配,則可以考慮使用轉(zhuǎn)義\
Console.WriteLine(Regex.IsMatch(str, @"^\^$"));
Console.WriteLine(Regex.IsMatch(str, "^\\^$"));
#endregion
#region 元字符_修飾符
// *:它不是一個(gè)字符占位,說(shuō)明它本身并不代表一個(gè)字符,它是用來(lái)修飾 *前面的子表達(dá)式出現(xiàn)0次或者多次:子表達(dá)式就是默認(rèn)指*前面的那一個(gè)字符,如果需要代表多個(gè),就使用()包含
Console.WriteLine(Regex.IsMatch(str, "ab*g"));
Console.WriteLine(Regex.IsMatch(str, "^(ab)*g$"));
//+:它不是一個(gè)字符占位,說(shuō)明它本身并不代表一個(gè)字符,它是用來(lái)修飾 +前面的子表達(dá)式出現(xiàn)1次或者多次:子表達(dá)式就是默認(rèn)指+前面的那一個(gè)字符,如果需要代表多個(gè),就使用()包含
Console.WriteLine(Regex.IsMatch(str, "a+g"));
//? :它不是一個(gè)字符占位,說(shuō)明它本身并不代表一個(gè)字符,它是用來(lái)修飾 ?前面的子表達(dá)式出現(xiàn)0次或者1次:子表達(dá)式就是默認(rèn)指?前面的那一個(gè)字符,如果需要代表多個(gè),就使用()包含
Console.WriteLine(Regex.IsMatch(str, "^a?g$"));
// {n,m}:{n,m}它不是一個(gè)字符占位,說(shuō)明它本身并不代表一個(gè)字符,它是用來(lái)修飾{n,m}前面的子表達(dá)式最少出現(xiàn)n次,最多出現(xiàn)m次
Console.WriteLine(Regex.IsMatch(str, "^[0-9]{3,4}$"));
//{n}:它不是一個(gè)字符占位,說(shuō)明它本身并不代表一個(gè)字符,它是用來(lái)修飾{n}前面的子表達(dá)式只能出現(xiàn)n次
Console.WriteLine(Regex.IsMatch(str, "^[1-9][0-9]{17}$|^[0-9]{15}$|^[0-9]{17}[xX]$"));
//{n,}:它不是一個(gè)字符占位,說(shuō)明它本身并不代表一個(gè)字符,它是用來(lái)修飾{n,}前面的子表達(dá)式最少出現(xiàn)n次,最多沒(méi)有限制
Console.WriteLine(Regex.IsMatch(str, "^[0-9]{3,}$"));
Console.WriteLine(Regex.IsMatch(str, "^q*$"));
#endregion
//在c#中判斷登錄名是是否包含特殊符號(hào):[^0-9A-Za-z_] :也不能包含中文
#region 簡(jiǎn)寫表達(dá)式
//\d:代表一個(gè)數(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 _ 中文]之外的特殊符號(hào)
Console.WriteLine(Regex.IsMatch(str, @"\W"));
#endregion
}
//判斷字符串是否為正確的國(guó)內(nèi)電話號(hào)碼,不考慮分機(jī)。
//010-8888888或010-88888880或010xxxxxxx
//0335-8888888或0335-88888888(區(qū)號(hào)-電話號(hào))
//10086、10010、95595、95599、95588(5位)
//13888888888(11位都是數(shù)字)
while (true)
{
string str = Console.ReadLine();
//不要試圖一步到位,應(yīng)該一個(gè)一個(gè)來(lái)進(jìn)行匹配
Console.WriteLine(Regex.IsMatch(str,@"^\d{3,4}[-]?\d{7,8}$|^[1-9]\d{4}$|^1[3-9]\d{9}$"));
}
//驗(yàn)證用戶輸入的電子郵箱的合法性 wuhu0723@126.com
while (true)
{
string str = Console.ReadLine();
//不要試圖一步到位,應(yīng)該一個(gè)一個(gè)來(lái)進(jìn)行匹配
Console.WriteLine(Regex.IsMatch(str, @"^[0-9A-Za-z_]+[@][0-9A-Za-z_]+[.][A-Za-z]{2,5}$"));
}
}
}
}