A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 秦二江 于 2013-5-23 17:59 编辑

javascript 如何判断 文本框 是以数字开头的  ,C# convert 用多了,这 真蒙圈

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 谢孔营 于 2013-5-23 11:59 编辑

<script language="javascript">
function f(){
var a = document.getElementById("txtName").value;
var test1 = /^[0-9]+[\s\S]*$/;
if(test1.test(a)){
alert("开头是数字");
}
else{
alert("开头不是数字");
}
}
</script>
<html>
<body>
<input type="text" id="txtName"/>
<input type="button" value="测试"/>
</body>
</html>

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
谢孔营 发表于 2013-5-23 11:37
function f(){
var a = document.getElementById("txtName").value;
var test1 = /^[0-9]+[\s\S]*$/;

谢谢,好强大的正则表达式
回复 使用道具 举报
c15881291595 发表于 2013-5-23 11:39

:D补一下正则表达式
回复 使用道具 举报
用js判断一个字符串是否是以某个子字符串开头如:1600054是否以16开头,可以这样做:
var fdStart = _fdCode.indexOf("16");
if(fdStart == 0){
   表示_fdCode是以16开头;
}else if(fdStart == -1){
   表示_fdCode不是以16开头
}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
因为正则表达式内容很多,我不能补全
\b 是正则表达式规定的一个特殊代码(某些人叫它元字符,meta character),代表着
单词的开头或结尾,也就是单词的分界处。
“.”是另一个元字符,匹配除了换行符以外的任意字符。*同样是元字符,不过它代表的不是
字符,也不是位置,而是数量——它指定*前边的内容可以连续重复出现任意次以使整个表达式
得到匹配。 因此, “ .*” 连在一起就意味着任意数量的不包含换行符
这里的\d 是一个新的元字符,匹配任意的数字(0,或 1,或 2,或……)。-不是元字符,
只匹配它本身——连字号。
在 Java 中的 String 类中有好几个方法都跟正则表达式有关,最典型的就是
public boolean matches(String regex)
告知此字符是否匹配给定的正则表达式。
使用这个方法来测试和运行上面学到的正则表达式,示例如下:
public class Test {
public static void main(String[] args) {
String str = "010-62972039";
System.out.println("str是一个正确的电话号码?答案是:" +
str.matches("0\\d{2}-\\d{8}"));
}
}
运行结果:str 是一个正确的电话号码?答案是:true
注意:由于在 Java 里面“\”需要转义,应该变成“\\”。
在 Java 中,有专门进行正则表达式的类,在 java.util.regex 包里面。
. 匹配除换行符以外的任意字符
\w 匹配字符或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\b 匹配字符串的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
例 1:\d+
匹配 1 个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可
能是 0 次),而+则匹配重复 1 次或更多次
例 3:\b\w{6}\b
匹配刚好 6 个字母/数字的单词。
例 4:^\d{5,12}$
匹配必须为 5 位到 12 位数字的字符串
* 重复零次或多次
+ 重复一次或多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n次到m次
13\d{9} 匹配 13 后面跟 9 个数字(中国的手机号)
常见正则表达式
(1)检测是否 Email 地址
^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|
(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$
(2)判断输入的字符串只包含汉字
^[\u4e00-\u9fa5]+$
(4)判断输入的字符串是否是一个合法的手机号,这个不完全,只是 13 开头的
^13\\d{9}$
(5)判断输入的字符串只包含数字,可以匹配整数和浮点数
^-?\\d+$|^(-?\\d+)(\\.\\d+)?$

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
谢孔营 发表于 2013-5-23 14:30
因为正则表达式内容很多,我不能补全
\b 是正则表达式规定的一个特殊代码(某些人叫它元字符,meta charact ...

好,够用了,谢谢你
回复 使用道具 举报
这个考试题我花了一上午才写好的,js了解的太少了,不停的查书写规范、函数用法。我是先用substing方法截第一个字符,然后用这个正则([0-9]{1},解释。只能是0到9的数字,出现一次。)去验证截取的字符是不是数字。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马