正则表达式积累
一、匹配中文
<script language="javascript">
function funcChina() {
var obj = document.form1.txtName.value;
// /.*[\u4e00-\u9fa5]+.*$/.test(obj)匹配 包含中文
if (/[^\u4e00-\u9fa5]/.test(obj)) {//匹配 包含非中文
alert("字符吃串中有非中文!");
return false;
}
return true;
}
</script>
<form name="form1">
<input type="text" name="txtName">
<input type="button" name="butTxt" value="判断是否是英文" onclick="funcChina()">
</form>
二、js字符串转超链接
<script>
var str = "<BR><BR>http://90.231.23.12:8080/ecpHome#/checkPost,!<《。,!测试22222<BR>http://www.baidu.com <BR><BR>99.80.214.22:80的.baidu.com";
var re = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?[\,]/g;
var arry1;
var arry2 = [];
var obstr = str;
while (arry1 = re.exec(str)) {
arry2.push(arry1[0]);
obstr = obstr.replace(arry1[0], '######');
}
var subos = ''
for (var i = 0; i < arry2.length; i++) {
subos = '<a href="' + arry2[i] + '">' + arry2[i] + '</a>';
obstr = obstr.replace('######', subos);
}
document.write(obstr);
</script>
注意这个正则表达式,有个bug,结束辨识超链接的字符只能是中文或者中文字符!!!
匹配手机号码的 正则表达式!!!
校验手机号码(/^1[3|4|5|7|8]\d{9}$/