正则表达式验证内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

</head>

<style>

ul{

list-style:none;

}

</style>

<body align="center">

<div align="center" style="height:600px;width:600px;">

<h1 >短信内容检查</h1><br />

<p align="left">短信内容规则:</p>

<div align="left" style="height:150px; padding-left:20px;">

<ul>

<li>1、字数不能超过70个(140字节)</li>

<li>2、需要有一句:“xx到xx度”</li>

<li>3、需要有一句:“湿度xx%到xx%”</li>

<li>4、需要有一句:“东莞市气象台xx月xx日” 或 “东莞气象台xx月xx日”</li>

<li>5、气温的范围为:0-40</li>

<li>6、湿度的范围为:0-100</li>

<li>7、日期必须和当前机器日期一致</li>

</ul>

<textarea id="content" cols="60" rows="10" onkeyup ="checkOne()" onchange="checkOne()"></textarea><span id="num">0/140</span><br/><span id="tip"  style="color:#FF0000"></span><br />

<button onclick="chenckAll()">检查</button>

</div>

</div>

<script type="text/javascript">

//检查文本域里面的字数

function checkOne(){

var content = document.getElementById("content").value;

//alert(content.replace(/[^\x00-\xff]/g,"**"));

var byteNum = content.replace(/[^\x00-\xff]/g,"**").length;

if(byteNum>140){

document.getElementById("content").value =autoAddEllipsis(content, 140);

document.getElementById("num").innerHTML ="140/140";

document.getElementById("tip").innerHTML="字数超过预留数!";

}

document.getElementById("tip").innerHTML="";

document.getElementById("num").innerHTML =""+ byteNum+"/140";

}

//检查、过滤

function chenckAll(){

checkOne();

var content = document.getElementById("content").value;

var regex=/湿度\d{1,3}%到\d{1,3}%/;

var re1 = /\d{1,3}到\d{1,3}度/;

var re2 = /东莞市气象台\d{1,2}月\d{1,2}日/;

var re3 = /东莞气象台\d{1,2}月\d{1,2}日/;

var dateM = formatDate((new Date()), "MM");

var dateD = formatDate((new Date()), "dd");

if(!regex.test(content)){

document.getElementById("tip").innerHTML="需要有一句:“湿度xx%到xx%”";

return;

}else{

var s = content.match(regex)+"";

var x1 = parseInt(s.substring(2,s.indexOf(‘%‘)));

var x2 = parseInt(s.substring((s.indexOf(‘到‘))+1,s.length-1));

if(x1<0||x1>100||x2<0||x2>100){

document.getElementById("tip").innerHTML="湿度范围应在0-100";

return;

}

if(x1>x2){

document.getElementById("tip").innerHTML="湿度区间需调整";

return

}

}

if(!re1.test(content)){

document.getElementById("tip").innerHTML="需要有一句:“xx到xx度”";

return;

}else{

var s = content.match(re1)+"";

var x1 =parseInt(s.substring(0,s.indexOf(‘到‘)));

var x2 = parseInt(s.substring(s.indexOf(‘到‘)+1,s.length-1));

if(x1<0||x1>40||x2<0||x2>40){

document.getElementById("tip").innerHTML="温度范围应在0-40";

return;

}

if(x1>x2){

alert(x1+" "+x2);

document.getElementById("tip").innerHTML="温度区间需调整";

return;

}

}

if(!re2.test(content)&&!re3.test(content)){

document.getElementById("tip").innerHTML="需要有一句:“东莞市气象台xx月xx日” 或 “东莞气象台xx月xx日”";

return;

}else{

var s = content.match(re3)+"";

if(s==‘null‘){

var s1 = content.match(re2)+"";

var dtime =  s1.substring(s1.indexOf(‘台‘)+1,s1.length);

var month = dtime.substring(0,dtime.indexOf(‘月‘));

var day = dtime.substring(dtime.indexOf(‘月‘)+1,dtime.length-1);

if(month.length==1){

month =‘0‘+month;

}

if(day.length==1){

day = ‘0‘+day;

}

if(dateD!=day||dateM!=month){

document.getElementById("tip").innerHTML="日期与当前时间不符";

return;

}

}else{

var dtime =s.substring(s.indexOf(‘台‘)+1,s.length);

var month = dtime.substring(0,dtime.indexOf(‘月‘));

var day = dtime.substring(dtime.indexOf(‘月‘)+1,dtime.length-1);

if(month.length==1){

month =‘0‘+month;

}

if(day.length==1){

day = ‘0‘+day;

}

if(dateD!=day||dateM!=month){

document.getElementById("tip").innerHTML="日期与当前时间不符";

return;

}

}

}

document.getElementById("tip").innerHTML="检查通过!";

}

//日期格式化函数

function formatDate(date,format){

var paddNum = function(num){

num += "";

return num.replace(/^(\d)$/,"0$1");

}

//指定格式字符

var cfg = {

yyyy : date.getFullYear() //年 : 4位

,yy : date.getFullYear().toString().substring(2)//年 : 2位

,M  : date.getMonth() + 1  //月 : 如果1位的时候不补0

,MM : paddNum(date.getMonth() + 1) //月 : 如果1位的时候补0

,d  : date.getDate()   //日 : 如果1位的时候不补0

,dd : paddNum(date.getDate())//日 : 如果1位的时候补0

,hh : date.getHours()  //时

,mm : date.getMinutes() //分

,ss : date.getSeconds() //秒

}

format || (format = "yyyy-MM-dd hh:mm:ss");

return format.replace(/([a-z])(\1)*/ig,function(m){return cfg[m];});

}

function cutString(pStr, pLen) {

// 原字符串长度

var _strLen = pStr.length;

var _tmpCode;

var _cutString;

// 默认情况下,返回的字符串是原字符串的一部分

var _cutFlag = "1";

var _lenCount = 0;

var _ret = false;

if (_strLen <= pLen/2) {

_cutString = pStr;

_ret = true;

}

if (!_ret) {

for (var i = 0; i < _strLen ; i++ ) {

if (isFull(pStr.charAt(i))) {

_lenCount += 2;

} else {

_lenCount += 1;

}

if (_lenCount > pLen) {

_cutString = pStr.substring(0, i);

_ret = true;

break;

} else if (_lenCount == pLen) {

_cutString = pStr.substring(0, i + 1);

_ret = true;

break;

}

}

}

if (!_ret) {

_cutString = pStr;

_ret = true;

}

if (_cutString.length == _strLen) {

_cutFlag = "0";

}

return {"cutstring":_cutString, "cutflag":_cutFlag};

}

function isFull (pChar) {

for (var i = 0; i < pChar.strLen ; i++ ) {

if ((pChar.charCodeAt(i) > 128)) {

return true;

} else {

return false;

}

}

}

function autoAddEllipsis(pStr,pLen){

var _ret = cutString(pStr,pLen);

var _cutFlag = _ret.cutflag;

var _cutStringn = _ret.cutstring;

if("1" == _cutFlag){

return _cutStringn;

}else{

return _cutStringn;

}

}

</script>

</body>

</html>

时间: 2025-01-06 13:52:34

正则表达式验证内容的相关文章

JS正则表达式验证各种数字类型

以下内容 Js代码 <script type="text/javascript"> function validate(){ var reg = new RegExp("^[0-9]*$"); var obj = document.getElementById("name"); if(!reg.test(obj.value)){ alert("请输入数字!"); } if(!/^[0-9]*$/.test(obj.

Android正则表达式验证邮箱地址

1 // 邮箱有效性验证 2 Pattern pattern = Pattern 3 .compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"); 4 Matcher mc = 5 pattern.matcher(RegistMail.getText().toString().trim()); 其中RegistMail为一个EditText控件,用来处理用户的邮箱输入. Android正则表达式验证邮箱地址,布布扣,bu

js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码

直接上代码 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

js正则表达式验证

有时候会要验证自己写的正则表达式是否正确 所以写了这个小东西: demo:js正则表达式验证 html: 1 <h3>绿色表示匹配,红色表示不匹配</h3> 2 <label>请在下框填入正则表达式</label><br /> 3 4 <textarea id="regexp"></textarea><br /> 5 6 <label>请在下框填需要验证的式子</label

结合正则表达式验证数学公式(含变量,js版)

今天有朋友让我帮他写一个正则表达式,要求能验证一个数学公式格式是否正确. 数学公式中有括号,变量(未知数)和运算符,而且变量是重数据库中读取的,可以任意添加和删除. 这个用一个正则表达式实现是不可能的,所以我给他写了一个函数,如下: (function(){ /* * 假如待选变量: ID,NUM,TOTAL,AVL TEST * 正确的公式例子:ID*NUM+(TOTAL/AVL)*0.5 * 错误的公式例子:ID**|0.5 */ function fn(string, obj){// TO

正则表达式验证邮箱,qq,座机,手机,网址

手机: var reg=/^1[34578]\d{9}$/; if(reg.test("你输入的手机号码") ) { alert("手机号码输入正确") } else { alert("手机号码输入有误") } QQ: var reg=/^[1-9]\d{4,11}$/; 邮箱: var reg=/^\w+@[0-9a-zA-Z\-]+(\.[a-zA-Z]{2,6}){1,2}$/; 网址: var reg=/^(https?:\/\/)?([

正则表达式验证邮箱、电话号码

验证电话号码的正则:(\d{3}-)(\d{8})$|(\d{4}-)(\d{7})$|(\d{4}-)(\d{8})$ (这里的电话号码为新式的号码) 验证邮箱的正则:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* \w任意大小写英文字母 0-9数字 下划线 +为至少出现1个以上字符 [-+.]\w+ 任意包含 - + . 及 \w字符的组合出现0次或多次 @ 固定符号 \w+ 出现至少1次以上 \w的字符 [-.]\w+ 出现零次或多次这种组合的字符

(转)正则表达式验证大全

http://blog.csdn.net/wanglei_samrtfish/article/details/6951141 (转)正则表达式验证大全,码迷,mamicode.com

SQL Server 调用 C# 方法实现正则表达式验证

?  前言 1.   在 SQL Server 中默认是不支持正则表达式验证的,如果需要某个字符串匹配一个正则表达式的验证规则,就需要额外的编写 C# 方法,并发布到 SQL Server 数据库中. 2.   很幸运,在 VS 2005 之后的版本中,都支持创建 SQL Server 数据库项目,在该项目中可以创建支持调用 C# 函数的存储过程.函数.触发器等等. 3.   本文主要学习以下几点: 1)   在 VS 2013 中创建 SQL Server 数据库项目. 2)   创建 C#