您的位置:首页 > Web前端 > JavaScript

javascript正则表达式判断中文、全角字符及中文长度

2011-06-16 15:54 302 查看
有时我们经常需要去判断一个字符串是否包含中文和全角的字符,尤其在表单提交时。
中文:
str.match(/[^/x00-/xff]/ig)

判断包含中文字符串长度
aMatch=str.match(/[^/x00-/x80]/g);
str.length+(!aMatch?0:aMatch.length)
还有一种方法来判断中文字符串的长度,即,将中文替换成任意两个字符,如(**),然后在计算它的长度,如下:
function(str){
str = str.replace(/[^/x00-/xff]/g, '**');
return str.length;
}
在 JScript 表达式中,正则表达式后面的全局标志 ( 'g ') 表示该表达式将用来在输入字符串中查找尽可能多的匹配。大小写敏感性由表达式结束处的大小写敏感性标记 ( 'i ') 指定。

提供常用Javascript正则表达式验证函数以下函数调用方式:

function check()
{
var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID        alert(ismobile(bb));//ismobile 代表以下任何一个函数名称
}
HTML代码:
<input type="text" name="textfield" id="txt_id"  />
<input type="submit" name="Submit" value="提交" onclick="check()" />**************************/// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
function isalphanumber(str)
{
var result=str.match(/^[a-zA-Z0-9] $/);
if(result==null) return false;
return true;}// 判断输入是否是一个数字--(数字包含小数)--function isnumber(str){    return !isNaN(str);}// 判断输入是否是一个整数function isint(str){    var result=str.match(/^(-|/ )?/d $/);    if(result==null) return false;    return true;}// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"function isdatetime(str){    var result=str.match(/^(/d{4})(-|//)(/d{1,2})    function check()
{
var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID
alert(ismobile(bb));//ismobile 代表以下任何一个函数名称
}

HTML代码:
<input type="text" name="textfield" id="txt_id" />
<input type="submit" name="Submit" value="提交" onclick="check()" />
**************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
function isalphanumber(str)
{
var result=str.match(/^[a-zA-Z0-9] $/);
if(result==null) return false;
return true;
}

// 判断输入是否是一个数字--(数字包含小数)--
function isnumber(str)
{
return !isNaN(str);
}

// 判断输入是否是一个整数
function isint(str)
{
var result=str.match(/^(-|/ )?/d $/);
if(result==null) return false;
return true;
}

// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
function isdatetime(str)
{
var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
if(result==null) return false;
var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
return (d.getFullYear()==result[1]&&(d.getMonth() 1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
}

// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
function isdate(str){
var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2})$/);
if(result==null) return false;
var d=new Date(result[1], result[3]-1, result[4]);
return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]);
}

// 判断输入是否是有效的电子邮件
function isemail(str)
{
var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/);
if(result==null) return false;
return true;
}

// 去除字符串的首尾的空格
function trim(str){
return str.replace(/(^/s*)|(/s*$)/g, "");
}

// 返回字符串的实际长度, 一个汉字算2个长度
function strlen(str){
return str.replace(/[^/x00-/xff]/g, "**").length;
}(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);    if(result==null) return false;    var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);    return (d.getFullYear()==result[1]&&(d.getMonth() 1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);}// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式function isdate(str){   var result=str.match(/^(/d{4})(-|//)(/d{1,2})    function check()
{
var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID
alert(ismobile(bb));//ismobile 代表以下任何一个函数名称
}

HTML代码:
<input type="text" name="textfield" id="txt_id"  />
<input type="submit" name="Submit" value="提交" onclick="check()" />

**************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
function isalphanumber(str) { var result=str.match(/^[a-zA-Z0-9] $/); if(result==null) return false; return true; }// 判断输入是否是一个数字--(数字包含小数)--
function isnumber(str) { return !isNaN(str); }
// 判断输入是否是一个整数
function isint(str) { var result=str.match(/^(-|/ )?/d $/); if(result==null) return false; return true; }// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
function isdatetime(str) { var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/); if(result==null) return false; var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]); return (d.getFullYear()==result[1]&&(d.getMonth() 1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]); }// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
function isdate(str){ var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2})$/); if(result==null) return false; var d=new Date(result[1], result[3]-1, result[4]); return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]); }// 判断输入是否是有效的电子邮件
function isemail(str) { var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/); if(result==null) return false; return true; }// 去除字符串的首尾的空格
function trim(str){ return str.replace(/(^/s*)|(/s*$)/g, ""); }
// 返回字符串的实际长度, 一个汉字算2个长度
function strlen(str){
return str.replace(/[^/x00-/xff]/g, "**").length;
}(/d{1,2})$/); if(result==null) return false; var d=new Date(result[1], result[3]-1, result[4]); return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]);}// 判断输入是否是有效的电子邮件function isemail(str){ var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/); if(result==null) return false; return true;}// 去除字符串的首尾的空格function trim(str){ return str.replace(/(^/s*)|(/s*$)/g, "");}// 返回字符串的实际长度, 一个汉字算2个长度function strlen(str){ return str.replace(/[^/x00-/xff]/g, "**").length;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: