1、怎么用正则表达式提取电子邮箱的账户名和域名?
网上找一个邮箱的正则,然后把@前面的和后面的用括号括起来,就可以吧账户名和域名分到分组里了,可以用\1 \2进行引用,或者程序库提供的其他功能引用
2、JS 利用正则提取文本内邮箱地址
\b[A-Za-z0-9._%+-]+\s?@\s?(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,6}\b
3、如何用正则表达式提取一个网站里面的所有邮箱地址?
用正则表达式提取一个网站里面的所有邮箱地址
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.*;
public class MyRegex {
public static void main(String[] args) {
try {
//读取网页文件,里面有N个邮箱地址
String content = read("e:/1.htm");//read()方法在下面
//匹配邮箱的正则表达式
String regex="//w+([-+.']//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*";
Matcher m=Pattern.compile(regex).matcher(content);
while(m.find()){
//输出邮箱地址
System.out.println(m.group());
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 读取文本内容
* @param fileName 文本名称,包括路径
* @return 返回文本内容
*/
public static String read(String fileName) throws IOException{
BufferedReader br=new BufferedReader(new FileReader(fileName));
StringBuilder sb=new StringBuilder();
String s;
while((s=br.readLine())!=null)
{
sb.append(s);
sb.append("/r/n");
}
br.close();
return sb.toString();
}
}
4、如何获得顶级域名正则
?
5、在JS中,如何用正则取邮箱服务器地址
var reg = /^[^@]+@([^.]+)..*$/;
var str = "AAAAAA @ 163.com";
console.log(str.replace(reg, "$1"));
6、正则表达式取根域名
^
7、PHP正则表达式如何检测现有的正确邮箱域名后缀?
这个是IT群里的朋友!我不去群里了,在这里帮你把问题解决了吧!
其实严格说来,正则表达式只是一个模型匹配,所以直接使用模型匹配时我们有一个高通原理,也就是说匹配出来的内容是要大于你所需要的内容。就比此题来说,后边可以匹配任何一个合规则的内容,而不可能精确地直接是你想要的内容——这就是高通,如果非要匹配到你想要的内容,使用正则运算有时是非常不合适的!所以这里不建议你使用这方式,或者是部分使用这种方式的形式。
高通就是通过你不全是你想要的,但你想要的一定全在里边。
那么,为什么不考虑使用ajax的方式呢?后台自己设计一会数据库,@前半段使用正则表这式,扣后半段直接使用数据存储的内容,这样可以精确到任何一个你想要的。
因为这里你想要的与不想要的其实也很模糊,你也不知道ckk这个域名在以后是不会被启用!那么你可以使用数据库方式,由管理员自由添加!不用去修改那将来的表达式的!
但事实上很少人用这种方式——他们都在使用注册时邮箱认证的方式,也就是说,发到你邮箱里一封信,辅助你完成注册,这种情况虽然是高通,其他实他只是方便用户能输入正确,而不是要的确信数据,任何设计都要记着这句话——任何客户端的信息都是不可信的!就算用JS完成了正则,那么如果对方有意屏掉您的JS这十分容易的!所以你的正则根本不是用来验证,而是方便用户。
正是这种原因,高通的理由也是其存在的一个原因!就算使用了我说的数据库,利用ajax来检查,那么别人照样可以让你的ajax不工作,而且,不是服务器通过了,邮箱就一定有人注册的!所以从这方面上来讲,数据库的实现意义也不大!
根据js的特点,客户端的验证没有必要太这于麻烦,就算是服务端的验证,建议你的也只采用这种方式即可。没有使用数据库的必要的——这个代价与达到的效果是不成比例的!
说完了,其实等于我也不解决!