我是靠谱客的博主 无奈饼干,最近开发中收集的这篇文章主要介绍Unity-正则表达式-检测字符规则例如字符是否为手机号,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Unity-正则表达式
基础原字符:
d 表示数字
w 由字母,数字,下划线,汉字组成。

  • 代表重复0-n次重复
    ^ 代表开始位置
    $ 代表结束位置
    [] 包含字符
    | 或的关系
//Unity-正则表达式 
//基础原字符:
// d 表示数字
// w 由字母,数字,下划线,汉字组成。
// *  代表重复0-n次重复
// ^  代表开始位置
// $  代表结束位置
//[]  包含字符
//|   或的关系

 
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using UnityEngine;

public class Demo : MonoBehaviour
{
    void Start()
    {
        Debug.Log("是否只是数字:OnlyNumber("123") = " + OnlyNumber("123"));
        Debug.Log("是否只是数字和字母:OnlyNumberAndEnglishWord("123bc") = " + OnlyNumberAndEnglishWord("123bc"));
        Debug.Log("是否为手机号:OnlyPhoneNumber("123") = " + OnlyPhoneNumber("123"));
        Debug.Log("5到11位是否为数字:Only5_11Number("12345a7890") = " + Only5_11Number("12345a7890"));
        Debug.Log("如果字符全是数字替换为一个*: ReplaceNumberToStar("ab123") = " + ReplaceNumberToStar("ab123"));
        Debug.Log("如果字符全是数字替换为一个*: ReplaceNumberToStar("123") = " + ReplaceNumberToStar("123"));
        Debug.Log("如果字符里有数字替换为*: ReplaceNumberToStar2("cd456") = " + ReplaceNumberToStar2("cd456"));
        Debug.Log("替换数字和字母为*: ReplaceNumberAndEnglishWordToStar("123c-d_e") = " + ReplaceNumberAndEnglishWordToStar("123c-d_e"));
    }
    /// <summary>
    /// 判断所有的字符是不是数字
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public bool OnlyNumber(string str)
    {
        string checkStr = @"^d*$";
        return Regex.IsMatch(str, checkStr);
    }
    /// <summary>
    /// 判断所有的字符是不是数字和字母
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public bool OnlyNumberAndEnglishWord(string str)
    {
        string checkStr = @"^d|[a-z]$";
        return Regex.IsMatch(str, checkStr);
    }
    /// <summary>
    /// 判断所有的字符是不是手机号(数字并且位数是11位)
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public bool OnlyPhoneNumber(string str)
    {
        string checkStr = @"^d{11}$";
        return Regex.IsMatch(str, checkStr);
    }
    /// <summary>
    /// 判断5-11位字符是不是数字()
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public bool Only5_11Number(string str)
    {
        string checkStr = @"^d{5,11}$";
        return Regex.IsMatch(str, checkStr);
    }
    /// <summary>
    /// 如果字符全是数字替换为一个*
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public string ReplaceNumberToStar(string str) {
        string checkStr = @"^d*$";
        return Regex.Replace(str, checkStr, "*");
    }
    /// <summary>
    /// 替换字符中的数字为*
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public string ReplaceNumberToStar2(string str)
    {
        string checkStr = @"d";
        return Regex.Replace(str, checkStr, "*");
    }
    /// <summary>
    /// 替换字符中的数字和英文字符为*
    /// </summary>
    /// <param name="输入的字符"></param>
    /// <returns></returns>
    public string ReplaceNumberAndEnglishWordToStar(string str)
    {
        string checkStr = @"d|[a-z]";
        return Regex.Replace(str, checkStr, "*");
    }

}


运行结果:
在这里插入图片描述

最后

以上就是无奈饼干为你收集整理的Unity-正则表达式-检测字符规则例如字符是否为手机号的全部内容,希望文章能够帮你解决Unity-正则表达式-检测字符规则例如字符是否为手机号所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部