2 sinat 25136209 sinat_25136209 于 2017.01.04 00:25 提问

java中怎么设置字符串的输入限制

ava中怎么设置语句让长度为11的字符串中,除了前面两个长度,后面9个长度为0~9的数字。前面两个长度的限制条件我已经设置了条件,现在要设置后面9个长度的限制条件。。
求解~~

4个回答

Dave_NewStar
Dave_NewStar   2017.01.04 00:52
已采纳

利用正则表达式;
1利用String.subString();截取到后九位;
2利用正则表达式"[0-9]{9}"进行判断。兄弟代码实现看你自己了,下面是代码,只能帮你到这了
public class Demo1 {
public static void main(String[] args) {
String str = "qw123456789";
String regex = "[0-9]{9}";
String substring = str.substring(2, str.length());
System.out.println(substring.matches(regex));
}

}

engchina
engchina   Rxr 2017.01.04 11:55

》后面9个长度为0~9的数字
跟你写的代码不一致,aa.substring(2,10)只取后面8位。

如果是固定9位,
代码应该改为aa.substring(2,11),
正则表达式 String regex = "[0-9]{9}"; 是正解。(1楼答案)。

如果是动态的0-9位,
代码应该改为aa.substring(2,aa.length()),
正则表达式 String regex = "[0-9]{0,9}"; (0回以上,9回以下)

sinat_25136209
sinat_25136209   2017.01.04 00:49

图片说明
我还试过aa.substring(2,10).matches("[0-9]") aa.substring(2,10).matches("[0~9]") aa.substring(2,10).matches("\d")
都输出的是false。。。语句写的不对么?

baidu_36779925
baidu_36779925 回复sinat_bear: 你匹配的0-9的任意一个,而不是匹配了九个。需要加{9}。
一年多之前 回复
yearHeaven
yearHeaven   2017.01.04 09:51

和楼上差不多,后端截取判断,前端正则

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在java中如何约束条件限制文本框接受的字符
      在java图形用户界面中时常会遇到一些限制性的输入条件.比如在一个文本框中只能接收数字我们如何实现呢?其实我们可以通过添加KeyListener来实现.具体实现如下:Toolkit toolkit = Toolkit.getDefaultToolkit();JTextField field = new JTextField();field.addKeyListener(
Java 控制数字输入、控制输入长度的方法
问题: Java程序设计中,经常接受数量的组件,那么就必须严格控制租借只接受数字,并且第一个字符不能是0 另外,有些组件需要控制输入长度 然而,Java中并没有专门的数字文本框来专门接受数字 解决方式: 下面,我用一个实例来实现限长的数字输入框,看代码……
字符串存入到数据库中,限制字符串长度
背景: 数据库中有个叫story的字段,类型为character varying(128)。 问题: 当我们往数据库中插入或者更新story字段得到时候,如果插入(更新)的字符串比128长,会 报错。 解决: 我们可以再普通的java代码中处理下要插入(更新)进去的数据。 不过为了代码更加的优雅,可以在mapper(mybatis)中限制字符串长度,用数据库的left()函数,如下:
JAVA之JTextField限制输入长度
TextField中,我们需要设置它的输入长度,但是呢?JAVA中没有给出具体的方法,那么只好自己来写一个了。 这里先给出第一种方法: 对于TextField的对象,给它增加一个事件监听,每当从键盘敲入一个字符时,就对它的长度进行判断,如果长度达到某一条件,则无法继续输入(通过consume方法实现)。 public void keyTyped(KeyEvent e) { // TODO
JAVA中限制文本框输入长度的办法
<br />JAVA不像C#能够有maxLength这个属性对文本框的输入长度进行控制,但也是有办法实现相应的功能的。<br />写一个MyDocument类,继承PlainDocument。重写insertString(int offset,String str,AttributeSet a)方法。<br />代码如下:<br />public class MyDocument extends PlainDocument{ private int maxLength; public
Java 文本框输入数字限制以及输入数字大小限制
问题: 之前我有一篇博文也写了这个问题,也是使用的字符串来控制文本框的输入数字 不过,那篇博文给的方法只能限制数字输入,以及数字输入长度的限制 今天给出可以限制输入数字大小的方法,例如:希望输入的数字最大不能超过35,那么36是绝对输入不进去的 而且,其他字符也是不能输入进去的 有兴趣的可以自己改成浮点数的输入大小限制(转载请说明来源:http://blog.csdn.net/Kilper)
限制JTextField只能输入数字以及输入最大长度
/** * 方式一:通过添加键盘事件,判断键入的是否为数字 aacc * 不足:通过 复制粘贴 的方式可以写入英文字母 */ JTextField textField = new JTextField(); textField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e)
使用Java EL表达式控制字符串输出长度
使用Java EL表达式控制字符串输出长度 首先在JSP页面头部加入 然后在显示部分加入(看部分) [顶] [${mynews.id}]
Android EditText限制输入字符的5种实现方式
最近项目要求限制密码输入的字符类型, 例如不能输入中文。   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣。  第一种方式:  设置EditText的inputType属性,可以通过xml或者java文件来设置。假如我要设置为显示密码的形式,可以像下面这样设置: 在xml中,   android:inputType="textPassword" 在ja
JTextField限制输入数字的方法
final JTextField txtExamTotal = new JTextField(); txtExamTotal.setDocument(new NumberValidator(3)); //******************************* import javax.swing.text.AttributeSet; import javax.swing.text.Pl