需求是:输入的内容去首尾空格长度不能为0.
内容注意除了空格外可以中文,字母数字,有HTML代码,HTML代码...总之只要去了空格后长度不能为0.
要求是正则表达式,不是length方法
为什么下面的验证能不通过?
function confirmSubmit(){
var _reg = /^\S{1,}$/;
if (window.confirm('您确认要提交编辑吗?')) {
var _check = true;
if (!(_reg.test($.trim($('#name').val())))) {
$('#checkName').html("*长度必须在大于1");
_check = false;
}else{
$('#checkName').html("√");
}
if (!(_reg.test($.trim($('#detail').val())))) {
$('#checkDetail').html("*长度必须在大于1");
_check = false;
}else{
$('#checkDetail').html("√");
}
return _check;
}
return false;
}这里有其他的疑惑,一个_reg能否在同个方法内用两次?我记得JAVA里的正则用过之后要reset的,js里没找到这个方法.
内容注意除了空格外可以中文,字母数字,有HTML代码,HTML代码...总之只要去了空格后长度不能为0.
要求是正则表达式,不是length方法
为什么下面的验证能不通过?
function confirmSubmit(){
var _reg = /^\S{1,}$/;
if (window.confirm('您确认要提交编辑吗?')) {
var _check = true;
if (!(_reg.test($.trim($('#name').val())))) {
$('#checkName').html("*长度必须在大于1");
_check = false;
}else{
$('#checkName').html("√");
}
if (!(_reg.test($.trim($('#detail').val())))) {
$('#checkDetail').html("*长度必须在大于1");
_check = false;
}else{
$('#checkDetail').html("√");
}
return _check;
}
return false;
}这里有其他的疑惑,一个_reg能否在同个方法内用两次?我记得JAVA里的正则用过之后要reset的,js里没找到这个方法.
解决方案 »
- 求教:怎么用jquery 检测图片是否加载完成
- 大神们,帮我看段代码吧,超级菜鸟提问
- 求购《JS权威指南》二手书
- 这条js语句有什么错误long extended = quan * price*1.08;
- 如何使鼠标停留在一个控件上2秒之后显示一个动态信息
- js如何取得页面的<LINK href="如何取得此处的内容" rel=stylesheet type=text/css>
- Extjs4.0动态切换CSS的问题
- 用javascript函数 操作数据库
- 简单问题,答对都有分!
- 如何在客户端用Javascript验证上船图片的格式?
- Jquery 表格某列汇总
- js 怎么获取页面 选中文本 标签的属性
function check(str){
var re = /^\s*[^\s]+\s*$/g;
return re.test(str);
}alert(check(" "));
alert(check(" a"));
</script>
为什么我的表达式行不通呢?这个test方法到底是什么运算的?按你的表达式应该是符合开头有任意空格+任意字符的字符串.(符合要求)而我的是符合字符串(我已经trim掉空格了)长度大于1的,一样的效果啊,为什么不能验证HIML代码呢?
test方法有必要加g吗?g不是循环查找时才有用吗?
var str = /^\s*\S/;
str.test("要测的字符串");
我的需求中使用一个正则验证两个不同的字符串,所以g是绝对不能加的,加g会依次验证,结果记录进正则的lastindex的相当于两个字符串加起来验证了,不符合需求.
var _reg = /^\s*\S{1,}\s*$/;
if (window.confirm('您确认要提交编辑吗?')) {
var _check = true;
if (!(_reg.test($.trim($('#name').val())))) {
$('#checkName').html("*长度必须在大于1");
_check = false;
}else{
$('#checkName').html("√");
}
reg.lastIndex=0;
if (!(_reg.test($.trim($('#detail').val())))) {
$('#checkDetail').html("*长度必须在大于1");
_check = false;
}else{
$('#checkDetail').html("√");
}
return _check;
}
return false;
}
同意9楼
LZ的表达式把开头和结尾都包进去了,只能匹配连续的非空字符串,HTML代码中间免不了有空格的2楼伴水哥的代码/^\s*\S/
匹配以n(n>=0)个空格开头且包含非空字符的字符串
重点是没有封掉结尾,只要验证了有非空字符就通过了