针对前台脚本验证的几种方式

1、

$("form").submit(function () {
var content = editor.getContentTxt();
var sum = 0;
re = /[\u4E00-\u9FA5]/g; //测试中文字符的正则
if (content) {
if (re.test(content)) //使用正则判断是否存在中文
{
if (content.match(re).length <= 10) { //返回中文的个数
$.dialog.tips("正文不能小于10个汉字!");
return false;
}
else {
var $submit = $("input[type='submit']").attr("disabled", true);
setTimeout(function () { $submit.attr("disabled", false) }, 5000);
return true;
}
}
else {
$.dialog.tips("正文不能小于10个汉字!");
return false;
}
}
else {
$.dialog.tips("正文不能小于10个汉字!");
return false;
}
});

2、针对获取内容字符串的长度,也可以分开来写,汉子和字符

//获取字符串长度(汉字算两个字符,字母数字算一个)
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null) {
len += 2;
}
else {
len += 1;
}
}
return len;
}

3、键盘字符验证

// 只要键盘一抬起就验证编辑框中的文字长度,最大字符长度可以根据需要设定
function checkLength(obj) {
var maxChars = 100;//最多字符数
var curr = maxChars - getByteLen(obj.value);
if (curr < 10) {
document.getElementById("checklen").innerHTML = curr.toString();
}
if (curr > 0) {
document.getElementById("checklen").innerHTML = curr.toString();
} else {
document.getElementById("checklen").innerHTML = '0';
document.getElementById("subject").readOnly = true;
}
}

针对后台脚本验证的几种方式

1、只验证汉字的方法

/// <summary>
/// 计算字符串长度,只校验汉字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int ChineseLen(string str)
{
if (string.IsNullOrEmpty(str))
return ; Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
char[] stringChar = str.Trim().ToCharArray();
StringBuilder sb = new StringBuilder();
int nLength = ;
for (int i = ; i < stringChar.Length; i++)
{
if (regex.IsMatch((stringChar[i]).ToString()) || (stringChar[i] > ))
{
nLength += ;
}
}
return nLength;
}

2、包括中文、字母和数字

/// <summary>
/// 计算字符串长度,中文按照2个字节算,字母和数字按照1个字节算
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int Len(string str)
{
if (string.IsNullOrEmpty(str))
return ; Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
char[] stringChar = str.Trim().ToCharArray();
StringBuilder sb = new StringBuilder();
int nLength = ;
for (int i = ; i < stringChar.Length; i++)
{
if (regex.IsMatch((stringChar[i]).ToString()) || (stringChar[i] > ))
{
nLength += ;
}
else
{
nLength = nLength + ;
} }
return nLength;
}

3、检查同一个字符串中,不相同字符的个数

/// <summary>
/// 检查同一个字符串中不相同字符的个数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static int CheckStringChar(string Str)
{
string newStr = "";
char oldChar = '_';
for (int i = ; i < Str.Length; i++)
{
if (oldChar != Str[i])
{
oldChar = Str[i];
newStr += Str[i];
}
}
return newStr.Length;
}

4、检测字符串中含有中文字符串的的实际长度

/// <summary>
/// 检测含有中文字符串的实际长度
/// </summary>
/// <param name="str">要检测的字符串</param>
/// <returns>返回结果长度</returns>
public static int GetChineseStringLength(string str)
{
int chineseLength = ;
byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(str);
for (int i = ; i < b.Length; i++)
{
if (b[i] == )
{
chineseLength++;
}
chineseLength++;
}
return chineseLength;
}

JS代码判断字符串中有多少汉字的更多相关文章

  1. JS代码判断字符串中有多少汉字【转】

    $("form").submit(function () { 2 var content = editor.getContentTxt(); 3 var sum = 0; 4 re ...

  2. JS代码判断IE6,IE7,IE8,IE9!

    JS代码判断IE6,IE7,IE8,IE9!2011年12月15日 星期四 14:01做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代 ...

  3. JS代码判断IE6,IE7,IE8,IE9的函数代码

    JS代码判断浏览器版本,支持IE6,IE7,IE8,IE9!做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代码 做网页有时候会用到JS ...

  4. js 技巧 (八)JS代码判断集锦(之二)

    JS代码判断集锦(之二) <INPUT TYPE="button" value="登录"  tabindex="4"> < ...

  5. js 技巧 (七)JS代码判断集锦(之一)

    JS代码判断集锦(之一) ~~~~~~~~~~~~~~~~~~ <script language="JavaScript"> function checkid(iden ...

  6. js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

    这篇文章主要分享了判断IE.FF.Opera.Safari.Chrome等浏览器和版本的两种方法,需要的朋友可以参考下 因为ie10-ie11的版本问题,不再支持document.all判断,所以ie ...

  7. Node.js之判断字符串中是否包含某个字符串

    server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境 ...

  8. js 正则判断字符串下划线的长度

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. js如何判断字符串是否进行过window.btoa()转码

    window.btoa()是基于Base64算法的.window.btoa()只能将ASCII字符进行转码 因此我们需要了解Base64的原理及主要特征:Base64的原理在这里就不多说了,网上很多讲 ...

随机推荐

  1. jquery更改加载图片大小

    <script type="text/javascript"> $("img").css("width","80%&q ...

  2. Using Recursive Common table expressions to represent Tree structures

    http://www.postgresonline.com/journal/archives/131-Using-Recursive-Common-table-expressions-to-repre ...

  3. DokuWiki用storage的模式在sae上部署后速度太慢

    利用sae做的io wrapper接口,对dokuwiki做了基于sae的分布式storage存储改造,能正常安装和运行,但速度太慢,基本没什么用. 定义一个常量: define('SAESTORE_ ...

  4. Yii2初谈

    Yii2发布有两个月时间了,一直没有去仔细关注过. 今天在回顾PSR标准时,稍稍扫了一眼Yii2.它的命名风格还是一如既往的与Zend那种既首字母大写又还要下划线连接的很二的命名风格格格不入.其实我看 ...

  5. eclipse新建maven项目(2)

    本篇博文是继续之前的博文eclipse新建maven项目(1),那篇博文不在随笔在文章中.首先按照之前那篇博文进行创建maven项目操作,一系列操作下来之后发现刷新项目后会报错: 别急哈,可以解决. ...

  6. log4j配置文件详解

    在开发中经常会碰到日志,网上关于日志的框架也很多,像log4j.self4j.common-logging等,下面对log4j进行介绍. log4j是java开发的日志框架,具有低侵入的特点,其重点使 ...

  7. Criteria查询初学者的采纳点哦

    一.Hibernate提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象    from  Emp e group by e.dept.deptName 2.OID检索 ...

  8. win server 2008 r2 sharepoint 域环境安装经历

    环境: 物理机:win7(x64,计算机名字:wyman-pc,ip:192.168.10.102)  / sql server 2008 r2(x64) /VM10 虚拟机:win svr 2008 ...

  9. treeview bootstrap 多级下拉树

    bootstrap-treeview.js1是一款强大的树菜单插件,本文演示bootstrap-treeview.js15种不同的调用方法.它可一次性加载数据,也可异步加载.支持Checkbox,se ...

  10. 20个基于 WordPress 搭建的精美网站

    WordPress 无处不在,小到人博客,大到广受欢迎的各类特色网站,你都能发现 WordPress 的影子,因为它是创建和维护一个网站最容易使用的平台. 另外,网络上有很多资源来创建你的网站,你基本 ...