zoukankan      html  css  js  c++  java
  • 正则表达式之判断用户注册信息是否为汉字、字母和数字

    一般在写用户注册模块的时候都在对注册的用户名进行判断,查看一下有没有.!@#$%^&*()等这样的特殊字符,注册信息里一般将这些字符视为非法字符不允许注册。怎么进行判断呢,这里就用到了正则表达式了。

    先来解释一下下面几个正则表达式:

    String chinese = "^[\u4E00-\u9FA5\uF900-\uFA2D]+$";                     /**这个正则表达式用来判断是否为中文**/

    //用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
    String username = "^\w+$";                                                                       /**此正则表达式判断单词字符是否为:[a-zA-Z_0-9]**/

    String all  = "^[\u4E00-\u9FA5\uF900-\uFA2D\w]{2,10}$";                /**此正则表达式将上面二者结合起来进行判断,中文、大小写字母和数字,{2,10}字符的长度为2-10**/

    下面是一个完整的例子程序,经测试运行通过:

    [java] view plaincopy
     
      1. import java.util.regex.Pattern;  
      2.   
      3. public class ReplaceAllTest {  
      4.   
      5.     public static void main(String[] args){  
      6.         String chinese = "^[\u4E00-\u9FA5\uF900-\uFA2D]+{1}quot;; /**这个正则表达式用来判断是否为中文**/  
      7.         String username = "^\w+{1}quot;;                              /**此正则表达式判断单词字符是否为:[a-zA-Z_0-9]**/  
      8.   
      9.          /**此正则表达式将上面二者结合起来进行判断,中文、大小写字母和数字**/  
      10.         String all  = "^[\u4E00-\u9FA5\uF900-\uFA2D\w]{2,10}{1}quot;;//{2,10}表示字符的长度是2-10  
      11.         Pattern pattern = Pattern.compile(all);  
      12.         boolean tf = pattern.matcher("12345").matches();  
      13. //      boolean tf = Pattern.matches(all, "刘垲l12厅要右见到");  
      14.         System.out.println(tf);  
      15.           
      16. //      \u4E00-\u9FA5\uF900-\uFA2D是指汉字的Unicode编码范围  
      17. //      w是指单词字符:[a-zA-Z_0-9]  
      18.     }  
      19. }  
  • 相关阅读:
    在JBuilder8中使用ANT
    协程初探
    JavaScript编写了一个计时器
    Codeforces Round #272 (Div. 1)D(字符串DP)
    UI測试内容
    我为什么做程序猿訪谈录
    使用Java高速实现进度条
    做web项目时对代码改动后浏览器端不生效的应对方法(持续更新)
    将markdown格式转化为bootstrap风格html
    char* 和char[]的差别
  • 原文地址:https://www.cnblogs.com/exmyth/p/4720556.html
Copyright © 2011-2022 走看看