过滤字符
A. 如何过滤掉字符串中的非文字字符
js 正则替换非汉字的字符
onkeyup="value=value.replace(/[^\u4e00-\u9fa5|,]+/,',')"
B. PHP 如何过滤特殊字符 如 ◆ )- : 、 、!! / 等
^PHP 中的 preg_replace() 函数可以实现
实例:只匹配中文
<?php
$str="php)!内!编程";
echopreg_replace("/[^容x{4e00}-x{9fa5}]/iu",'',$str);
?>
C. 字符串中如何过滤HTML标签字符
下面是asp中的方法,你可以改造成.net的
Function FilterHTML(strToFilter)
Dim strTemp
strTemp = strToFilter
strTemp=replace(strTemp,"""","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp,"&","")
Dim n,m '定义三个变量
n = inStr(strTemp,"<") '找到第一个"<"所在的位置
m = inStr(strTemp,">") '找到第一个">"所在的位置
Do while n > 0 and n < m '如果n>0则说明找到了一个"<",如果n<m则说明"<"在">"的左边,则"<"和">"之间的字符串为HTML代码,需要过滤掉
strTemp = Left(strTemp,n-1) & Mid(strTemp,m+1) '取"<"左边的字符串和">"右边的字符串并将他们连接在一起
n = inStr(strTemp,"<") '找到剩余字符串中第一个"<"所在的位置
m = inStr(strTemp,">") '找到剩余字符串中第一个">"所在的位置
Loop '循环
FilterHTML = strTemp
End Function
D. javascript 怎样过滤非法字符
你可以用过滤器来过过滤,jsp中的filter。
public class WordFilter implements Filter {
//写自己的response
class MyResponse extends HttpServletResponseWrapper{
//放字符串的
private StringWriter sw = new StringWriter();
//1.这个构造是必须是,作用是把原来的传进来进行替换
public MyResponse(HttpServletResponse arg0) {
super(arg0);
}
//2. 重写方法
@Override
public PrintWriter getWriter() throws IOException {
return new PrintWriter(sw);
}
//3.重写toString
@Override
public String toString() {
return sw.toString();
}
}
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
//替换自己的response
MyResponse response = new MyResponse((HttpServletResponse) arg1);
//让自己的response通过
arg2.doFilter(arg0, response);
//得到自己的内容
String str = response.toString();
//改一改内容
str = str.replaceAll("sb", "s*");
str = str.replaceAll("王八蛋", "??");
//传内容
response.getResponse().getOutputStream().print(str);
System.out.println("...");
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
E. sql 查询语句中 如何过滤 指定的字符
sqlserver:
select REPLACE(字段名1,'湖南省','')
上面 湖南省为要替换的字符串,''为要替换的内容
F. 正则表达式过滤特殊字符
正则表达式里面你带了逗号,应该这样写
[。~!@#$%\^\+\*&\\\/\?\|:\.<>{}()';="]
有些符号只有少数几个符号需要转义,而且不用打逗号,打了逗号就相当于把逗号也过滤掉了
G. 过滤字符串中的一个字符
#include<stdio.h>
#include<string.h>
int main(){
int i;char tmp[10]="abc";
for (i=0; i<strlen(tmp); i++) {
if (*(tmp+i) == 'b') {
*(tmp+i) =' ';
}
}
printf("%s",tmp);
}
只是不显示b的话,用空格代替好了,如果需要把b去掉还需要用指针进行操作。
补充:
#include<stdio.h>
#include<string.h>
int main(){
int i;
char tmp[10]="abc";
for (i=0; i<strlen(tmp); i++) {
if (*(tmp+i) == 'b') {
*(tmp+i) =*(tmp+i+1);//将b后一个字符替换b.
}
}
*(tmp+i-1)='\0';//将最后一个字符替换为‘\0’
printf("%s",tmp);
}
你的程序简单修改一下就行。但是如果只用一个指针进行操作的话会比较复杂,以上程序只适合abc的情况。如果是abcbc的话就会变成acccc这样。我再想想办法。
最终方案,加一个memmove函数即可:
int main(){
int i;
char tmp[10]="abcbcbc";
for (i=0; i<strlen(tmp); i++) {
if (*(tmp+i) == 'b') {
*(tmp+i) =*(tmp+i+1);//将b后一个字符替换b
memmove(tmp+i,tmp+i+1,strlen(tmp)-i);
}
}
printf("%s",tmp);
}
memmove说明请看以下链接:
http://ke..com/view/1026882.html?wtp=tt
H. JAVA中如何过滤字符串里面特殊字符
class test
{
public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}
I. sql 查询语句中如何过滤指定的字符
1、语句:SELECT * FROM dbo.Procts WHERE prod_name='king doll' AND prod_price>8。
--检索dbo.Procts表中所有列,过滤条件为由供应商king doll制造价格大于8的所有商品。
注意:--后面的字符是这条语句的注释,这条语句有两个条件,分别用AND关键字联接在一起,并且过滤结果必须满足这两个条件,如果只满足其中一个该数据不会被检索出来。
2、OR操作符(或)
语句:SELECT * FROM dbo.Procts WHERE prod_name='king doll' OR prod_price>8。
--检索dbo.Procts表中所有列,过滤条件为由供应商king doll制造价格大于8的所有商品值。
注意:--这里要说明的是OR操作符与AND操作符的不同之处是只要满足其中一个条件,数值就会被检索出来,例如:由供应商king doll制造价格小于8商品或者由供应商king add制造价格大于8的商品只要其中一个条件符合,数据就被检索出来。
3、IN操作符(指定条件范围)
语句:SELECT * FROM dbo.Procts WHERE prod_name IN ('king doll' ,'Queen dool')。
--检索dbo.Procts表中所有列,过滤条件为由供应商king doll和Queen dool制造的商品。
注意:它的功能其实和OR一样,但是它的执行速度会更快并且简洁,最大的优点是可以包含其他SELECT语句,能够更动态地建立WHERE字句。
J. JAVA特殊字符过滤方法
^public static String StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字源
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}