javascript - 手机web留言 怎么控制textarea输入的长度?
黄舟
黄舟 2017-04-11 11:20:29
[JavaScript讨论组]


这个正则^.{1,100}$,在手机端用户输入一个空格或者换行,就直接报错说输入的长度超过100了,
有没有好的方法可以过滤掉手机的空格、换行等 。意思就是换行、空格不计算长度。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
大家讲道理

你这是自定义的正则校验,校验前应该用了trim() 所以只输入一个空格也会报错
另外
.匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(.|\n)”的模式。

PHP中文网

我不清楚题里的data-pattern到底要怎么用。
但是这应该是一个正则的问题,建议加上正则的标签。

参考 阮一峰写的 RegExp对象

正则^.{1,100}$是什么意思呢?

点字符(.)匹配除回车(r)、换行(n) 、行分隔符(u2028)和段分隔符(u2029)以外的所有字符。
^ 表示字符串的开始位置
$ 表示字符串的结束位置
模式的精确匹配次数,使用大括号({})表示。{n}表示恰好重复n次,{n,}表示至少重复n次,{n,m}表示重复不少于n次,不多于m次。

这表示,这个正则匹配:
没有换行,一共1~100个字符的字符串。

难道不是应该0~100吗?
难道没有字符也会报错误吗……?

好,题主想忽略空格来计数
想找到这样一个正则还需要知道:

  • 星号表示某个模式出现0次或多次,等同于{0,}。
    s 匹配空格(包括制表符、空格符、断行符等),相等于[trnvf]。

^[\s*.\s*]{0,100}$估计能完成任务。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号