十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
//获得用户输入的邮箱
10年积累的成都网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有赫山免费网站建设让你可以放心的选择与我们合作。
var email = document.getElementById(id).value;
var emailEx =/^([\w\-])+@([\w])+\.([a-zA-Z]{2,4})$/;
if(!email.match(emailEx)){
alert("请输入正确的邮箱格式!");
return false;
}
希望对你有所帮助,谢谢!
1、汉字验证
这个方法改一下就行了
/**
* 计算字符串长度. 一个汉字的长度按2计算. 如果给定的字符串为null, 返回0.
*
* @param str
* 待计算长度的字符串
* @return 字符串长度
*/
public static int strlen(String str) {
if (str == null || str.length() = 0) {
return 0;
}
int len = 0;
char c;
for (int i = str.length() - 1; i = 0; i--) {
c = str.charAt(i);
if ((c = '0' c = '9') || (c = 'a' amp; c = 'z')|| (c = 'A' c = 'Z')) {//字母, 数字
len++;
} else {
if (Character.isLetter(c)) { //中文
len += 2;
} else { //符号或控制字符
len++;
}
}
}
return len;
}
2、电话
我给你个思路
就是把字符串转化为数字,然后用try catch 如果呢异常就表明是数字,至于长度length一下就行了,
或用这个
邮编号码:xxx.xxxx(都为数字)
固定电话号码:xx-xxxx-xxxx(都为数字)
手机号码:xxx-xxxx-xxxx(都为数字)
一般来说,基本的校验功能留给页面去处理,可以减轻服务器的负担。建议这些功能放在页面完成。
java中的正则表达式:
/**
* java正则表达式来判断是否EMAIL邮件
*
* @param number
* 待检测字符串
* @return 若是返回true,否则返回false
*/
import org.apache.oro.text.regex.MalformedPatternException;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.PatternCompiler;
import org.apache.oro.text.regex.PatternMatcher;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;
public static boolean checkFomatNumber(String number) {
//*Regexp匹配模式
//String postCodeRegexp = "([0-9]{3})+.([0-9]{4})+"; //邮政编码的匹配模式
//String phoneRegexp = "([0-9]{2})+-([0-9]{4})+-([0-9]{4})+";//固话的匹配模式
String mobileRegexp = "([0-9]{3})+-([0-9]{4})+-([0-9]{4})+"; //手机的匹配模式
PatternCompiler compiler = new Perl5Compiler();
PatternMatcher matcher = new Perl5Matcher();
Pattern pattern = null;
// Initialization of compiler, matcher, and input omitted;
try {
//pattern = compiler.compile(postCodeRegexp);
//pattern = compiler.compile(phoneRegexp);
pattern = compiler.compile(mobileRegexp);
} catch (MalformedPatternException e) {
return false;
}
if (matcher.matches(number, pattern))
return true;
else
return false;
}
3、年龄跟电话差不多,也是转换为数字,然后比较一下是否大于120
代码如下:
package TestRegex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test01 {
/**
* 邮政编码正则:"^[1-9]\\d{5}$"
* ^:正则开始符
* $:正则结束符
* [1-9]:范围为1-9
* \:转移字符
* \d:数字【0-9】
* X{n}:恰好n次:注意从0开始
*/
public static void main(String[] args) {
//定义正则
String str= "^[1-9]\\d{5}$";
//正确的邮件编码
String s = "471400";
//错误邮政编码
String s2 ="4560200";
/**
* Pattern为模式类型,
* compile(正则)方法预编译正则,
* 得到一个Matcher对象
*/
Pattern p =Pattern.compile(str);
//Pattern中的matcher()方法传入要匹配的字符串与正则进行匹配i
Matcher m=p.matcher(s);
Matcher m2=p.matcher(s2);
//Matcher类中的matches()方法判断是否匹配成功
boolean bo= m.matches();
boolean bo2= m2.matches();
//输出匹配结果:true为成功,false为失败
System.out.println(bo);
System.out.println(bo2);
}
}
扩展资料
正则表达式简单语法及常用正则表达式:
基本符号:
^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
$ 表示匹配字符串的结束位置
* 表示匹配 零次到多次
+ 表示匹配 一次到多次 (至少有一次)
? 表示匹配零次或一次
. 表示匹配单个字符
| 表示为或者,两项中取一项
( ) 小括号表示匹配括号中全部字符
[ ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]
{ } 大括号用于限定匹配次数 如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符 {n,m}表示至少n,最多m
\ 转义字符 如上基本符号匹配都需要转义字符 如 \* 表示匹配*号
\w 表示英文字母和数字 \W 非字母和数字
\d 表示数字 \D 非数字
常用的正则表达式:
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/(.*).*\/\1|(.*) \//
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
首先你要在数据库里城市对应邮编创建了,然后写个小小的java程序连接数据库,根据城市或者邮编去数据库搜对应的值然后输出,或者你可以找找有没有写好的接口你直接调用