首先附上正则表达式语法学习链接:http://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx
一、手机号码
- 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
- 联通:130、131、132、152、155、156、185、186
- 电信:133、153、180、189
正则表达式:
^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
Matcher matcher = pattern.matcher("13112341234");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$/;
if (reg.test("13112341234") == true)
alert("true");//弹出提示框并显示true
</script>
二、座机号码
说明:可以匹配XXX-1234567 XXXX-12345678 XXXX-1234567等等
正则表达式:
^\d{4}-\d{8}|\d{4}-\d{7}|\d{3}-\d{8}$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^\\d{4}-\\d{8}|\\d{4}-\\d{7}|\\d{3}-\\d{8}$");
Matcher matcher = pattern.matcher("0238-8992868");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^\d{4}-\d{8}|\d{4}-\d{7}|\d{3}-\d{8}$/;
if (reg.test("0218-89929290") == true)
alert("true");//弹出提示框并显示true
</script>
三、邮箱账号
正则表达式:
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
Matcher matcher = pattern.matcher("1250052380@qq.com");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (reg.test("1250052380@qq.com") == true)
alert("true");//弹出提示框并显示true
</script>
四、邮政编码
正则表达式:
^[1-9]\d{5}(?!\d)$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^[1-9]\\d{5}(?!\\d)$");
Matcher matcher = pattern.matcher("621000");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^[1-9]\d{5}(?!\d)$/;
if (reg.test("621000") == true)
alert("true");//弹出提示框并显示true
</script>
五、用户名
说明:匹配的用户名首字符只能是“小写字母”、“大写字母”或“_”中的一种,其余可以包含“大写字母”、“小写字母”、“数字”、“_”,且长度限制在6-20个字符
正则表达式:
^[a-zA-Z_][a-zA-Z0-9_]{5,19}$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^[a-zA-Z_][a-zA-Z0-9_]{5,19}$");
Matcher matcher = pattern.matcher("Tomcat");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^[a-zA-Z_][a-zA-Z0-9_]{5,19}$/;
if (reg.test("Tomcat949") == true)
alert("true");//弹出提示框并显示true
</script>
六、密码
说明:首字符必须是“大写字母”或“小写字母”,其余可以是“大写字母”、“小写字母”、“数字”、“特殊符号”,并且长度为6-18位
正则表达式:
^[a-zA-Z][a-zA-Z0-9~!@#$%^&*()_+]{5,17}$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9~!@#$%^&*()_+]{5,17}$");
Matcher matcher = pattern.matcher("tom20@#%$^&");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^[a-zA-Z][a-zA-Z0-9~!@#$%^&*()_+]{5,17}$/;
if (reg.test("tom20@#%$^&") == true)
alert("true");//弹出提示框并显示true
</script>
七、中文
说明:匹配2-10个中文
正则表达式:
^[\u4e00-\u9fa5]{2,10}$
java实例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^[\\u4e00-\\u9fa5]{2,10}$");
Matcher matcher = pattern.matcher("爱因斯坦");
System.out.print(matcher.matches());//打印出true
}
}
javascript实例:
<script>
var reg = /^[\u4e00-\u9fa5]{2,10}$/;
if (reg.test("Tomcat949") == true)
alert("true");//弹出提示框并显示true
</script>