在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]

本回答被提问者采纳
参考技术C 这个,这个,不知道 参考技术D 这个,,,不太懂。

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语句判断只能输入英文、空格、小数点的验证方法。的主要内容,如果未能解决你的问题,请参考以下文章

条件判断语句(if-else)

python基础5 if-else流程判断,for循环和while循环

可以一学的代码优化小技巧:减少if-else冗余

利用if-else语句编程:判断考试成绩是不是及格并输出结果。(如果输入的成绩大于等于60分,输

if - else 语句

js条件判断if-else