怎样判断一个文本框的输入为正整数,若不是则显示错误信息(不能输入小数,负数)

ruir 2003-08-23 08:46:51
out.print(" 转到第<input type='text' name='page' size=2 maxlength=10 class=smallInput value="+intPage+" >");
out.print("页<input class=buttonface type='submit' value='GO' name='cndok' ></span></p></form>" );
我的目的是不让别人在page文本框里输入小数、负数
...全文
478 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gisgeoboy 2003-08-24
  • 打赏
  • 举报
回复
将此页的信息提交后,获取文本框的信息,然后做出判断(在第二个界面)
String name=request.getParameter("name");
if(name==null||name.equals("")||name.indexOf('.')==-1||name.indexOf('-')==-1)
{
out.println("姓名输入有误,请检查核对!<a href ='JavaScript:history.back();'>请返回</a>");
}
lynx1111 2003-08-24
  • 打赏
  • 举报
回复
from里面写: onsubmit='return check();'
javascript:
<script language="JavaScript">
function isNum(passedVal) {
if (passedVal == "") {
return false
}
for (i=0; i<passedVal.length; i++) {
if (passedVal.charAt(i) < "0") {
return false
}
if (passedVal.charAt(i) > "9") {
return false
}
}
return true
}
function check() {
if (isNum(document.fPageNum.page.value)==false) {
alert("格式不对,请重新填写!");
document.fPageNum.page.focus();
return false;
}
}
</script>
ruir 2003-08-23
  • 打赏
  • 举报
回复
to Athene(菜菜子) 可我不知道怎么调用这个javascript
Athene 2003-08-23
  • 打赏
  • 举报
回复
public String checkNumber(String s) {
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) != ' ' &&
(s.charAt(i) < '0' || s.charAt(i) > '9')) {
return "字段含有非法字符,请您输入数字!";
}
}
return null;
}
gisgeoboy 2003-08-23
  • 打赏
  • 举报
回复
将此页的信息提交后,获取文本框的信息,然后做出判断(在第二个界面)
String name=request.getParameter("name");
if(name==null||name.equals("")||name.indexOf('.')||name.indexOf('-'))
{
out.println("姓名输入有误,请检查核对!<a href ='JavaScript:history.back();'>请返回</a>");
}
一个不错的数字的则表达式验证的电子参考书。内容预览: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数整数 + 0) ^\d+$ 验证非整数(负整数 + 0) ^((-\d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 验证用户密码:^[a-zA-Z]\w{5,17}$ 确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 验证汉字:^[\u4e00-\u9fa5],{0,}$ 验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 验证一年的12个月:^(0?[1-9]|1[0-2])$ 确格式为:“01”-“09”和“1”“12” 验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 确格式为:01、09和1、31。 整数:^-?\d+$ 非负浮点数(浮点数 + 0):^\d+(\.\d+)?$ 浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 非浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 浮点数 ^(-?\d+)(\.\d+)?$ ×××××××××××××××××××××××××××××××××××××× 以下未经测试,请验证后使用 1.只能输入数字和英文的: 2.只能输入数字的: 3.只能输入全角的: 4.只能输入汉字的: 5.邮件地址验证: var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$" var re = new RegExp(regu); if (s.search(re) != -1) { return true; } else { window.alert ("请输入有效合法的E-mail地址 !") return false; } 6.身份证: "^\\d{17}(\\d|x)$" 7.17种则表达式 "^\\d+$"  //非负整数整数 + 0) "^[0-9]*[1-9][0-9]*$"  //整数 "^((-\\d+)|(0+))$"  //非整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\\d+$"    //整数 "^\\d+([url=file://.//d+)?$]\\.\\d+)?$[/url]"  //非负浮点数(浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //浮点数 "^((-\\d+([url=file://.//d+)?)%7C(0+(//.0+)?))$]\\.\\d+)?)|(0+(\\.0+)?))$[/url]"  //非浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 "^(-?\\d+)([url=file://.//d+)?$]\\.\\d+)?$[/url]"  //浮点数 "^[A-Za-z]+$"  //由26个英文字母组成的字符串 "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 "^[a-z]+$"  //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 "^\\w+$"  //由数字、26个英文字母或者下划线组成的字符串 "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址 "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url ============================================= 1.取消按钮按下时的虚线框   在input里添加属性值 hideFocus 或者 HideFocus=true 2.只读文本框内容 在input里添加属性值 readonly 3.防止退后清空的TEXT文档(可把style内容做做为类引用)    4.ENTER键可以让光标移到下一个输入框    5.只能为中文(有闪动)    6.只能为数字(有闪动)    7.只能为数字(无闪动)    8.只能输入英文和数字(有闪动)    9.屏蔽输入法    10. 只能输入 数字,小数点,减号(-) 字符(无闪动)    11. 只能输入两位小数,三位小数(有闪动)    "^\\d+$"  //非负整数整数 + 0) "^[0-9]*[1-9][0-9]*$"  //整数 "^((-\\d+)|(0+))$"  //非整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\\d+$"    //整数 "^\\d+([url=file://\\.\\d+)?$]\\.\\d+)?$[/url]"  //非负浮点数(浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //浮点数 "^((-\\d+([url=file://\\.\\d+)?)|(0+(\\.0+)?))$]\\.\\d+)?)|(0+(\\.0+)?))$[/url]"  //非浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 "^(-?\\d+)([url=file://\\.\\d+)?$]\\.\\d+)?$[/url]"  //浮点数 "^[A-Za-z]+$"  //由26个英文字母组成的字符串 "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 "^[a-z]+$"  //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 "^\\w+$"  //由数字、26个英文字母或者下划线组成的字符串 "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址 "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url "^((\d{1,3}(,\d{3})*?)|\d+)(\.\d+)?$ //带逗号的decimal 具体的使用 另:JS 验证输入数字是否为整数用例: function checkGiveNum(){ if(!checkNum(trimString(document.getElementById("giveNumber").value))){ alert('您只能输入整数!'); document.getElementById("giveNumber").value = ""; } } function checkNum(str){ //如果为空,则通过校验 if(str == ""){ return true; } if(/^\+?[1-9][0-9]*$/.test(str)){ return true; }else{ return false; } }
EditText继承关系:View-->TextView-->EditText   EditText的属性很多,这里介绍几个: android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。 android:password="true"//设置只能输入密码 android:textColor = "#ff8c00"//字体颜色 android:textStyle="bold"//字体,bold, italic, bolditalic android:textSize="20dip"//大小 android:capitalize = "characters"//以大写字母写 android:textAlign="center"//EditText没有这个属性,但TextView有,居中 android:textColorHighlight="#cccccc"//被选中文字的底色,默认为蓝色 android:textColorHint="#ffff00"//设置提示信息文字的颜色,默认为灰色android:textScaleX="1.5"//控制字与字之间的间距 android:typeface="monospace"//字型,normal, sans, serif, monospace android:background="@null"//背景,这里没有,指透明 android:layout_weight="1"//权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。 android:textAppearance="?android:attr/textAppearanceLargeInverse"//文字外观 android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom android:gravity="top" //多行中指针在第一行第一位置 et.setSelection(et.length());//调整光标到最后一行 android:autoText //自动拼写帮助 android:capitalize //首字母大写 android:digits //设置只接受某些数字 Android:singleLine//是否单行或者多行,回车是离开文本框还是文本框增加新行 android:numeric //只接受数字 android:phoneNumber //输入电话号码 android:editable //是否可编辑 android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址 android:textAppearance="?android:attr/textAppearanceLargeInverse"//文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对?  属性名称描述   android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)   android:autoText如果设置,将自动执行输入值的拼写纠。此处无效果,在显示输入法并输入的时候起作用。   android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,   也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。   android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。   android:cursorVisible设定光标为显示/隐藏,默认显示。   android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()”   android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。   android:drawableLeft在text的左边输出一个drawable,如图片。   android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。 android:drawableRight在text的右边输出一个drawable,如图片。 android:drawableTop在text的上方输出一个drawable,如图片。 android:editable设置是否可编辑。这里无效果,参见EditView。 android:editorExtras设置文本的额外的输入数据。在EditView再讨论。 android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动) android:freezesText设置保存文本的内容以及光标的位置。参见:这里。 android:gravity设置文本位置,如设置成“center”,文本将居中显示。 android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView中使用,但是这里也可以用。 android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。 android:imeActionId设置IME动作ID。在EditView再做说明,可以先看这篇帖子:这里。   android:imeActionLabel设置IME动作标签。在EditView再做说明。   android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。   android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。   android:inputType设置文本的类型,用于帮助输入显示合适的键盘类型。在EditView中再详细说明,这里无效果。   android:linksClickable设置链接是否点击连接,即使设置了autoLink。   android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。   android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度,如图: android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。 android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。   android:maxLength限制显示的文本长度,超出部分不显示。   android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。   android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。   android:minLines设置文本的最小行数,与lines类似。   android:lineSpacingExtra设置行间距。   android:lineSpacingMultiplier设置行间距的倍数。如”1.2”   android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。   android:password以小点”.”显示文本   android:phoneNumber设置为电话号码的输入方式。   android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。   android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。   android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。   android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。效果: android:shadowDx设置阴影横向坐标开始位置。   android:shadowDy设置阴影纵向坐标开始位置。   android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。   android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行 android:shadowDx设置阴影横向坐标开始位置。   android:shadowDy设置阴影纵向坐标开始位置。   android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。   android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行   android:text设置显示文本.  android:textSize设置文字大小,推荐度量单位”sp”,如”15sp”   android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开   android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]   android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)   android:maxHeight设置文本区域的最大高度   android:minHeight设置文本区域的最小高度   android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。   android:maxWidth设置文本区域的最大宽度   android:minWidth设置文本区域的最小宽度   android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse   ”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse   android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse ”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInver

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧