用户名可能包含中文,中文按2位算
代码下载地址:http://www.zuidaima.com/share/1550463222516736.htm
转载请注明出处:验证用户名长度的正则表达式
运行此代码截图如下:
满足此表达式:
不满足此表达式:
package com.zuidaima.regularexpression; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UserReg { /** * 验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数 * * @param userName * @return */ public static boolean validateUserName(String userName) { String validateStr = "^[\\w\\--_[0-9]\u4e00-\u9fa5\uFF21-\uFF3A\uFF41-\uFF5A]+$"; boolean rs = false; rs = matcher(validateStr, userName); if (rs) { int strLenth = getStrLength(userName); if (strLenth < 4 || strLenth > 20) { rs = false; } } return rs; } /** * 获取字符串的长度,对双字符(包括汉字)按两位计数 * * @param value * @return */ public static int getStrLength(String value) { int valueLength = 0; String chinese = "[\u0391-\uFFE5]"; for (int i = 0; i < value.length(); i++) { String temp = value.substring(i, i + 1); if (temp.matches(chinese)) { valueLength += 2; } else { valueLength += 1; } } return valueLength; } private static boolean matcher(String reg, String string) { boolean tem = false; Pattern pattern = Pattern.compile(reg); Matcher matcher = pattern.matcher(string); tem = matcher.matches(); return tem; } public static void main(String[] args) { String str = "0-_f9zd中22最代码zuidaima.com"; String st = "A-dq_!!!!去符号标号!ノチセたのひちぬ!当然。!!..**半角最代码zuidaima.com"; System.out.println(validateUserName(str)); System.out.println(st.replaceAll("[\\pP&&[^-_]]", "")); System.out.println(st.replaceAll("[\\w\\-一-龥A-Za-z]", "")); } }
相关推荐
在本案例中,我们关注的是使用jQuery(jq)进行非空验证,以及使用JavaScript(js)的正则表达式来验证邮箱和手机号码的正确性。以下是关于这些知识点的详细说明: 1. **jQuery(jq)非空验证**: jQuery是一种轻...
在提供的示例代码中,我们看到一个简单的登录页面,其中包含了一个名为 `AA` 的 JavaScript 函数,该函数用于验证用户输入的用户名是否符合上述正则表达式的规则。 ```javascript function AA() { var name = ...
1. 用户名验证:`/^[a-z0-9_-]{3,16}$/` - 这个正则表达式用于检查用户名是否合法,它只接受小写字母、数字、下划线和破折号,且长度在3到16个字符之间。 2. 密码验证:`/^[a-z0-9_-]{6,18}$/` - 类似于用户名,但...
通过定义一组规则来识别文本中的特定模式,正则表达式被广泛应用于各种场景,如数据验证、搜索替换等。 ### 数字验证 1. **纯数字验证**:只允许输入纯数字。 - 正则表达式:`^[0-9]*$` - 示例:`12345` 2. **...
本主题主要关注使用正则表达式进行表单验证,涉及到JavaScript和JSP两种技术。正则表达式是一种强大的文本处理工具,能够有效地匹配、查找、替换和验证各种模式。 首先,我们来看表单验证的基本概念。表单是网页中...
根据给定的文件信息,我们可以总结出以下...综上所述,通过以上知识点可以看出,Java正则表达式在处理各种格式的数据验证时非常实用且灵活。开发者可以根据具体需求选择合适的正则表达式来提高代码的健壮性和安全性。
在"java 银行卡 验证 正则表达式使用"这个主题中,我们将深入探讨如何利用正则表达式进行银行卡、手机号码和邮箱以及URL地址的有效性验证。下面将详细介绍这些知识点。 首先,银行卡验证。银行卡号通常由一系列数字...
### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...
- **应用场景**: 用于验证用户名格式是否符合要求(首字母必须是字母,长度在5到16个字符之间,可以包含字母、数字和下划线)。 - **示例**: `"user_name123".match(/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/)` 返回 `["user_...
- **含义:** 这个正则表达式用于验证用户名的有效性,要求用户名必须由5到16个字符组成,且必须以字母开头,可以包含字母、数字和下划线。 - **应用场景:** 主要应用于用户注册时对用户名合法性的验证,确保用户名...
验证用户名(字母开头,长度5-16,可含字母数字下划线) **正则表达式**: `^[a-zA-Z][a-zA-Z0-9_]{4,15}$` - **用途**: 用于验证用户名是否符合特定格式。 - **应用场景**: 用户注册、登录等环节中对用户名的格式...
这个资源包显然提供了一个全面的JS表单验证解决方案,包括了正则表达式和作者自编的验证逻辑,非常适合初学者学习和参考。 一、表单验证的重要性 在网页中,表单是用来收集用户数据的关键元素,如用户名、密码、...
这个正则表达式包含了用户名、@符号、域名和顶级域名部分。 3. 电话号码验证: 电话号码的格式因国家和地区而异,但通常包含数字和可能的分隔符。例如,美国电话号码的格式可能是`(XXX) XXX-XXXX`,我们可以用...
- **验证用户名**:`^[a-zA-Z]\w{5,17}$` - 输入必须以字母开头,并且长度为6至18个字符。 - **验证不包含特定字符的字符串**:`[^%&',;=?$\x22]+$` - 输入不能包含 `% & ' , ; = ? $ " ` 这些特殊字符。 - **...
- 验证用户名:`^[a-zA-Z]\w{5,17}$`,要求用户名以字母开头,长度在 6 到 18 位之间。 - 验证不含特殊字符的字符串:`[^%&,;=?$\x22]+`。 - 验证中文字符:`^[\u4e00-\u9fa5]{0,}$`。 - 验证电子邮件地址:`^\w...
常用于验证用户名或变量名,包含字母、数字和下划线。 18. **验证用户密码**:`^[a-zA-Z]\w{5,17}$` 验证密码,必须以字母开头,长度在6到18之间,包含字母、数字和下划线。 19. **验证是否含有特殊字符**:`[^%...
正则表达式可以用来验证用户名是否符合规则,例如验证用户名只能包含小写字母、数字、下划线和连字符,并且限制用户名长度在3~15个字符之间。 compile 函数: compile 函数是将正则表达式转换为模式对象,这样...
在软件开发中,正则表达式常用于数据验证、文本处理、搜索算法等领域。本文将详细解析给定文件中涉及的正则表达式知识点,特别关注邮箱和手机号码的验证。 ### 邮箱验证正则表达式 邮箱地址通常由用户名部分、@...
正则表达式(Regular Expression)是用于匹配字符串模式的一种语法,广泛应用于文本处理、数据验证、数据提取等领域。以下是对一些常见的正则表达式的详细解释: 1. 匹配中文字符:`[u4e00-u9fa5]` 这个正则表达式...