在C#程序中用if-else语句判断只能输入英文、空格、小数点的验证方法。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#程序中用if-else语句判断只能输入英文、空格、小数点的验证方法。相关的知识,希望对你有一定的参考价值。
不能输入中文和其他特殊字符,最好是正则表达式。
参考技术A//分给我吧。。剩下的能自己搞定不
//搞到需求5了。。。剩下的有空继续搞
//你的想法还很不成熟,光想到用A替换。。。这个估计是人都
//都能想到,真正的关键是对所有的函数,程序块进行结构建模
//等都建模结束了,就可以简单的用正则来替换实现
public class DateTest
public static void main(String args[]) throws Exception
String str1 = "(Z0$1001+K1$1001)+C2$1001-max(Z1$1001-Z1$1001,0)";
System.out.println(validateExpression(str1));
public static boolean validateExpression(String expression)
//去掉算式中所有的合法项替换为"?"字符
expression = expression.replaceAll("((K|Z|C)\\d\\$(\\d)+(\\.(\\d)*))","?");
//去掉替换后算式中所有的空格
expression = expression.replaceAll(" ","");
//如果有两个相邻的项中间没有操作符,则算式不合法
if(expression.matches("^??$"))
return false;
/**
* 增加你需要的函数运算符,如果函数内部参数结构不同则需要改写正则表达式
*/
//如果包含合法max运算符,则替换max运算符为"?"字符
System.out.println("max: " + expression);
if(expression.matches("^(.)*max\\(\\?-\\?,\\d\\)(.)*$"))
expression = expression.replaceAll("max\\(\\?-\\?,\\d\\)", "?");
System.out.println("max: " + expression);
/**
* 增加你需要的程序块运行符,如果程序块内部参数结构不同则需要改写正则表达式
*/
//FIXME if-else语句块未实现,等待实现
//如果包含合法if-else语句块,则替换if-else语句块为"?"字符
// if(expression.matches("^(.)*if\\(.)*$"))
// expression = expression.replaceAll("max\\(\\?-\\?,\\d\\)", "?");
//
//必须是倒数第二步:判断小括号左右括弧是否等同,括弧位置是否合法,如果括弧全部合法,则去掉所有括弧
int num = 0;
char[] expChars = expression.toCharArray();
for(int i = 0; i < expChars.length; i ++)
char temp = expChars[i];
if(temp == '(')
num++;
else if(temp == ')')
num--;
if(num < 0)
return false;
if(num > 0)
return false;
expression = expression.replaceAll("\\(|\\)", "");
System.out.println(expression);
//必须是最后一步:判断仅剩的+-*/四则运算算式是否合法
System.out.println(expression);
if(expression.matches("^\\?((\\+|-|\\*|\\/)\\?)*$"))
return true;
else
return false;
参考技术B if(System.Text.RegularExpressions.IsMatch(str,"[a-zA-Z\._]"))
else
追问
[a-z-A-Z\._]就可以判断只能输入英文、小数点和空格??? 有点怀疑、、 太简单了吧
追答那要不怎么样?
有点小误:
[a-z-A-Z\._]改成[a-z-A-Z\.\s]
js条件判断if-else
1.条件判断if-else,语法规则
if (条件判断) {执行语句} elif (条件判断) {执行语句} ······ else (条件判断) {执行语句}
2.switch,基本语法
switch(v){ case 值1:执行语句1;break; case 值2:执行语句2;break; case 值3:执行语句3;break; ······ default:执行语句 }
3.for循环,基本语法
for (初始化条件;条件判断;增量) {执行语句} for (var i=1;i<10;i++){ document.write(i+‘ ‘); }
4.while循环,基本语法
while (条件判断;) {执行语句; 增量 ; } while (var i=1){ document.write(i+‘ ‘); i++ }
异常处理
try{ //这段代码从上往下执行,其中任何一个语句抛出异常,则该代码块结束运行 } catch (e){ //如果try中的代码块抛出了异常,catch代码块被执行 //e为局部变量,用来指向Error对象或者跑出的其他对象 } finally{ //无论try中代码块是否有异常,及时try中有return语句,该代码块依然会执行}
主动抛出异常throw Error(‘输出内容‘)
以上是关于在C#程序中用if-else语句判断只能输入英文、空格、小数点的验证方法。的主要内容,如果未能解决你的问题,请参考以下文章
python基础5 if-else流程判断,for循环和while循环