这是前台验证: function isChinese(str){ var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+" ";//半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\|:;\"\\'<,>?/";//不包含*或.的英文符号
if(""==str){
return false;
}
for(var i=0;i<str.length;i++){
var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1)
{
return false;
}
}
return true; }
这是后台验证:
public bool isChinese(string str)
{ if ("" == str)
{
return false;
}
for (int i = 0; i < str.Length; i++)
{
char c = Convert.ToChar(str.Substring(i, 1));//字符串str中的字符
if ((int)c < 129)
{
return false;
}
}
return true;
}均测试过但是录入的数据还是在用户名中出现英文名字,是浏览器的问题?前台后台都使用验证,用户怎么跳过验证的?
请教了
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+" ";//半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\|:;\"\\'<,>?/";//不包含*或.的英文符号
if(""==str){
return false;
}
for(var i=0;i<str.length;i++){
var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1)
{
return false;
}
}
return true; }
这是后台验证:
public bool isChinese(string str)
{ if ("" == str)
{
return false;
}
for (int i = 0; i < str.Length; i++)
{
char c = Convert.ToChar(str.Substring(i, 1));//字符串str中的字符
if ((int)c < 129)
{
return false;
}
}
return true;
}均测试过但是录入的数据还是在用户名中出现英文名字,是浏览器的问题?前台后台都使用验证,用户怎么跳过验证的?
请教了
控件不添加ValidationExpression="isChinese()"
后台代码,不添加,这部分代码就行了.
if (isChinese("tsetrd嗨")){}
不知道楼主是这个意思吗?
string o =System.Text.RegularExpressions.Regex.Replace(输入的字符串, "[^\u4e00-\u9fa5]+", "");
注意:这里只提取了中文,如果有英文是不会提取的
然后把o的长度与原字符串的长度对比一下 如果有英文或者别的 那么肯定不等啦 如果相等 ,那么说明只有中文