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

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. Android网页浏览器的开发

    Android网页浏览器的核心Widget是包含了WebKit的WebView. 首先,布局文件activity_main.xml: <LinearLayout xmlns:android=&q ...

  2. hibernate----1-N--jointable(人与地址)

    package com.ij34.dao; import java.util.HashMap; import java.util.HashSet; import java.util.Set; impo ...

  3. gitlab web hook

    https://pypi.python.org/pypi/glhooks/0.1.0 https://filippo.io/a-python-github-push-webhook-handler/ ...

  4. c++之string.find(string)

    先来看一个例子吧: #include "iostream" #include "string" using namespace std; // 定义函数求str ...

  5. Scalaz(22)- 泛函编程思维: Coerce Monadic Thinking

    马上进入新的一年2016了,来点轻松点的内容吧.前面写过一篇关于用Reader实现依赖注入管理的博文(Scalaz(16)- Monad:依赖注入-Dependency Injection By Re ...

  6. Java--简单的Spring AOP配置以及AOP事物管理,JDK/GCLib动态代理

    一.看一下简单的通过XML的AOP配置 1.首先创建一个简单的Student类 public class Student { private Integer age; private String n ...

  7. Elasticsearch5.0.1索引压测结果

    说明 以下的所有指标均指的是某台机器的峰值 机器配置 cpu:12 core,32G,ES 分配JVM内存18G3台虚拟机,master.data共用shard:5,replica:1 试验时间:20 ...

  8. 【Effective Java】11、同步访问共享的可变数据

    这段时间看的部分感觉没啥需要记录下来的,个人也没什么想法,不过以后还是要多记,多写 package cn.xf.cp.ch02.item66; import java.util.concurrent. ...

  9. ASP.NET登录控件login。

    1.Login控件.通常情况下会出现3个核心元素.用户名文本框.密码输入框.提交凭证的按钮. 1>.比较重要的属性:CreateUserText属性:包含站点注册页的链接文本.CreateUse ...

  10. JavaScript中with语句的理解

    with语句的作用是暂时改变作用域链.减少的重复输入. 其语法结构为: with(object){ //statements } 举一个实际例子吧: with(document.forms[0]){ ...