导航:首页 > 净水问答 > cedit设置符号过滤

cedit设置符号过滤

发布时间:2021-02-09 07:59:09

⑴ VC++ CEdit控件如何限制只允许输入汉字和数字请详细指出变量类型和所用方法,谢谢了!

CEdit类是从CWnd类继承的,在CWnd类里面,有一个方法OnChar(),当用户输入字符时该方法会被调用,你可以重写这个方法,判断字符自否为你想要的类型,如果不是直接返回就行了,否则直接调用基类的OnChar方法就行了。

我写了一个MyEdit类继承于Edit,并重写了OnChar方法,你在代码中将控件的类型改为MyEdit即可完成数字和汉字的过滤,经测试可用,如有不懂可以追问。

voidMyEdit::OnChar(UINTnChar,UINTnRepCnt,UINTnFlags)
{
//TODO:在此添加消息处理程序代码和/或调用默认值
if(nChar<='9'&&nChar>='0')//数字
CEdit::OnChar(nChar,nRepCnt,nFlags);
if(nChar>=0x4E00&&nChar<=0x9FFF)//常用字
CEdit::OnChar(nChar,nRepCnt,nFlags);
if(nChar>=0x3400&&nChar<=0x4dff)//少用字
CEdit::OnChar(nChar,nRepCnt,nFlags);
if(nChar>=0x20000&&nChar<=0x2A6DF)//少用字,历史上使用
CEdit::OnChar(nChar,nRepCnt,nFlags);
return;
}

⑵ VC 过滤字符串内特殊符号的函数 比如双引号

\n ------------------------- 换行
\r ------------------------- 回车
\t ------------------------- 制表符
\b ------------------------- 退格
\f ------------------------- 换页
\0 ------------------------- 空符号
\" ------------------------- 双引号
\'''' -------------------------单引号
\\ -------------------------反斜杠

\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\f 走纸换页
\a 鸣铃

注:
有些 ASCII 字符是不可打印的。例如退格、另起一行、警报等。C 语言提供了两种方法来表示这种不可打印字符。

第一种方法是使用 ASCII 编码。例如,ASCII 编码中,7 用于表示警报:

char beep = 7;

第二种方法是使用特殊符号序列,也就是所谓的转义字符(escape sequences)。参见下表:

转义字符 含义

\a 警报( Alert (ANSI C) )

\b 退格(Backspace)

\f 换页(Form feed)

\n 换行(Newline)

\r 回车(Carriage return)

\t 水平制表符(Horizontal tab)

\v 垂直制表符(Vertical tab)

\\ 反斜杆( Backslash (\) )

\' 单引号( Single quote (') )

\" 双引号( Double quote (") )

\? 问号( Question mark (?) )

\0oo 八进制数( Octal value (o 代表一个八进制数字) )

\xhh 十六进制数( Hexadecimal value (h 代表一个十六进制数字) )

给变量赋值的时候,转义字符必须使用单引号引住。例如:

char nl = '\n';

下面我们详细学习每个转移字符的含义。

\a(警报)是 ANSI C89 添加的,用于产生可听或者可视的警报。\a 产生的效果取决于硬件。一般来说,输出 \a 会产生鸣响。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。标准明确指出,\a 不应该改变当前活跃位置(active position)。所谓活跃位置,是指显示设备(显示器、打字机、打印机等等)显示下一个字符的位置。以显示器为例,活跃位置就是指光标所处的位置,输出 \a 不会导致光标移动位置。

\b、\f、\n、\r、\t,以及 \v 都是输出设备控制符。退格符(\b)使当前行的活跃位置后退一个位置。换页符(\f)使活跃位置跳到下一页的开端。注:换页符可用于控制打印机换页,但不会导致 PC 机的显示屏换页。换行符(\n)使活跃位置跳到下一行的开端。回车符 ( \r ) 使活跃位置返回当前行的开端。水平制表符(\t)使活跃位置移动若干个位置(通常是8个)。垂直制表符(\v)使活跃位置换若干行。注:\v可用于控制打印机换若干行,但是不会导致PC机的显示屏换行。

\\、\',以及 \" 使我们可以把 \,' 和 " 用作字符常量。如果要打印以下句子:

"\ is called 'backslash'."

我们需要使用如下语句:

printf("\"\\ is called \'backslash\'.\"");

或者

printf("\"\\ is called 'backslash'.\"");

注意,在字符串字面量中,无论写 \' 还是 ',输出都是一样的。但是,在给字符变量赋值时,一定要写 \'。例如:

char ch = '''; /* 错误! */

char ch = '\''; /* 正确。 */

\0oo 和 \xhh 是ASCII码的两种特殊表示形式。如果想用八进制ASCII码表示字符,可以在八进制数前面加上 \ ,然后用单引号引起来。例如:

beep = '\007'; /* \007 代表 \a */

打头的那些0可以省略,也就是说,写成 '\07' 或者 '\7' 都一样。无论有没有打头的0 ,7 都会被当成八进制数处理。

从 C89 开始,C提供了用十六进制表示字符常量的方法:在反斜杆后面写一个 x ,然后再写 1 到 3 个十六进制数字。例如:

nl = '\xa'; /* \xa 代表 \n */

注意:使用ASCII码时,要注意区分数字和数字字符。例如:字符4的ASCII码是52 ,'4' 代表字符 4 ,而不是数字4。此外,尽管 '\n' 和 '\xa' ,'\a' 和 '\007' 是等价的,但是我们应该尽可能使用 '\n' 和 '\a' ,而不要用 '\xa' 和 '\007' 。这是因为前者易懂、便于记忆,而且移植性更高。而后者只对使用ASCII码的系统有效。

参考资料:C Primer 5th Edition

⑶ excel怎样过滤特殊符号就和

word和excel无法插入特殊字符的解决方案

1.按[开始]菜单,[运行],输入cmd,然后按[Enter]
2.输入cd C:\ Program Files文件\ MICROSOFT按[Enter]键内
3.输入regsvr32之后完成的办公容室\ OFFICE11 \加载项/ U SYMINPUT.DLL完全按[Enter]键REGSVR32 SYMINPUT.DLL
4.输入完毕后按之前[Enter]键债券

⑷ 我怎么限定我的CEdit中只能输入一定个数的字符

程序实例:cEdit.GetWindowTextW(m_text)获取制CEdit中的数据voidCCEditDlg::OnBnClickedButton1(){//TODO:在此添加控件通知处理程序代码CStringm_text;cEdit.GetWindowTextW(m_text);if(IsNum(m_text)==true){AfxMessageBox(CString("这不是一个字母"));}else{AfxMessageBox(CString("这是一个字母"));}}boolCCEditDlg::IsNum(CStringstr){intn=str.GetLength();for(inti=0;i'9'))returnfalse;}returntrue;}

⑸ asp在过滤特殊字符情况下如何让表单允许出现特定符号

如果这个%只是为了显示,那么可以把它替换成&#37;
如果你后端用的是ADODB.RecordSet来保存数据的,那么你可版以不必过滤这些符号,直接写权入到数据库里就行了,这并不会有什么安全风险,只有在生成SQL语句时,过滤才是必要的.

⑹ C#过滤标签的类~~过滤掉在文本框中输入的标签符号

过滤?
用正则表达式吧

⑺ 请教老师,excel单元格如何设置只显示数字,其他什么符号都不显示。比如,-- 这样的符号都过滤掉

可以用vba实现,当然也是可以用if函数,希望能帮到你,,

⑻ asp过滤特定符号【】之间的内容

下面的程序代码测试通过,使用模式匹配很容易完成这样的功能:版

<%
s="【测试权】AABBCCDD"
Set regEx = New RegExp
regEx.Pattern = "【.*】"
s=regEx.replace(s,"")
'replace s, regEx ,""
response.write s
%>

⑼ 正则表达式怎么过滤掉符号

问题解决了,是先替换掉了符号,在正则查找的

⑽ 拼url字符串的时候,如何过滤&符号

调用escape函数即可,例如
name=escape(name)
那么组装以后的地址为:
url = "test.do?id=1&name=A%26B"

这样就行了内,test.do能够把A%26B理解为容name=A&B

阅读全文

与cedit设置符号过滤相关的资料

热点内容
净水机滤芯什么材料最好 浏览:338
dna在蒸馏水中易溶解 浏览:181
变频器低频转如向提升 浏览:930
换滤芯怎么用喇叭在农村叫 浏览:403
饮水机过滤桶接口怎么安装 浏览:953
酚醛树脂粉尘爆炸极限 浏览:179
影响工业废水污染物种类的因素 浏览:379
探岳330pro车载空气净化器怎么使用 浏览:815
大众汽车怎么换机油滤芯 浏览:139
工业废水能委托污水厂处理吗 浏览:104
猪粪污水除臭剂 浏览:59
污水消毒 浏览:687
纯净水桶为什么会发霉 浏览:867
常压过滤图解 浏览:865
车载空气净化器过滤网多久换一次 浏览:800
银行废水 浏览:901
超滤膜截面测试方法 浏览:648
比亚迪速锐空气滤芯总成怎么安装 浏览:808
机油滤芯大了会影响什么 浏览:458
中央前置净水器管径一般是多少 浏览:496