• C#(JS)几个常用的正则表达式


     快一个月没更新了,今天写几个比较常用的正则表达式。供大家参考。

    Regex rg = new Regex(".*[a-zA-z].*"); //判断是否包含字母

    public static boolean isLetterDigit(String str) {

    //return (rg.IsMatch("34(AS)"); =>true

    //return (rg.IsMatch("34"); =>false

    return (rg.IsMatch(str)

    }

    1. // 纯数字 private static String DIGIT_REGEX = "[0-9]+";
    2. // 含有数字
    3. private static String CONTAIN_DIGIT_REGEX = ".*[0-9].*";
    4. // 纯字母
    5. private static String LETTER_REGEX = "[a-zA-Z]+";
    6. // 包含字母
    7. private static String CONTAIN_LETTER_REGEX = ".*[a-zA-z].*";
    8. // 纯中文
    9. private static String CHINESE_REGEX = "[\u4e00-\u9fa5]";
    10. // 仅仅包含字母和数字
    11. private static String LETTER_DIGIT_REGEX = "^[a-z0-9A-Z]+$";
    12. private static String CHINESE_LETTER_REGEX = "([\u4e00-\u9fa5]+|[a-zA-Z]+)";
    13. private static String CHINESE_LETTER_DIGIT_REGEX = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";
    14. /**
    15. * 判断字符串是否仅含有数字和字母
    16. *
    17. * @param str
    18. * @return
    19. */
    20. public static boolean isLetterDigit(String str) {
    21. return str.matches(LETTER_DIGIT_REGEX);
    22. }
    23. /**
    24. * 是否为汉字,不包括标点符号
    25. *
    26. * @param con
    27. * @return true 是汉字
    28. */
    29. public static boolean isChinese(String con) {
    30. Pattern pattern = Pattern.compile(CHINESE_REGEX);
    31. for (int i = 0; i < con.length(); i = i + 1) {
    32. if (!pattern.matcher(
    33. String.valueOf(con.charAt(i))).find()) {
    34. return false;
    35. }
    36. }
    37. return true;
    38. }
    39. /**
    40. * 用正则表达式判断字符串中是否
    41. * 仅包含英文字母、数字和汉字
    42. *
    43. * @param str
    44. * @return
    45. */
    46. public static boolean isLetterDigitOrChinese(String str) {
    47. return str.matches(CHINESE_LETTER_DIGIT_REGEX);
    48. }
    49. /**
    50. * 姓名中可包含汉字和字母,无其它字符
    51. *
    52. * @param passengerName
    53. * @return
    54. */
    55. public static boolean checkChineseLetter(String passengerName) {
    56. Pattern pattern = Pattern.compile(CHINESE_LETTER_REGEX);
    57. Matcher matcher = pattern.matcher(passengerName);
    58. if (matcher.matches()) {
    59. //不包含特殊字符
    60. return true;
    61. } else {
    62. //包含了特殊字符
    63. return false;
    64. }
    65. }
    66. /**
    67. * 判断一个字符串是否包含标点符号(中文或者英文标点符号),true 包含。
    68. * 原理:对原字符串做一次清洗,清洗掉所有标点符号。
    69. * 此时,如果入参 ret 包含标点符号,那么清洗前后字符串长度不同,返回true;否则,长度相等,返回false。
    70. *
    71. * @param ret
    72. * @return true 包含中英文标点符号
    73. */
    74. public static boolean checkPunctuation(String ret) {
    75. boolean b = false;
    76. String tmp = ret;
    77. // replaceAll里面的正则匹配可以清空字符串中的中英文标点符号,只保留数字、英文和中文。
    78. tmp = tmp.replaceAll("\\p{P}", "");
    79. if (ret.length() != tmp.length()) {
    80. b = true;
    81. }
    82. return b;
    83. }
    84. public static boolean isDigit(String ret) {
    85. return ret.matches(DIGIT_REGEX);
    86. }
    87. public static boolean isLetter(String ret) {
    88. return ret.matches(LETTER_REGEX);
    89. }
    90. public static boolean hasDigit(String ret) {
    91. return ret.matches(CONTAIN_DIGIT_REGEX);
    92. }
    93. public static boolean hasLetter(String ret) {
    94. return ret.matches(CONTAIN_LETTER_REGEX);
    95. }

  • 相关阅读:
    sed基础应用与高级应用
    我的DW个人网站设计——安徽宣城6页HTML+CSS+JavaScript
    TCP协议通讯流程
    力扣(LeetCode)10. 正则表达式匹配(C++)
    python自动开发,基础——1
    人生关卡设计:内在动力、外在挑战与成长路径的构建
    只因程序员写了一段爬虫,公司200人被端,是种什么体验?
    从0-1,如何用低代码搭建管理系统
    浅谈游戏安全 (一)
    ActiveReportsJS 3.1 VS ActiveReportsJS 3.0
  • 原文地址:https://blog.csdn.net/qq_26695613/article/details/134027783