There's not a lot that you can do in Yara rules that you can't do in LDB sigs... for what it's worth, here's a logical sig that detects the same thing as the Yara rules...
mbroekman@lothlorien:~$ grep MJB.JS.SendEmail clamdb/javascript_sigs.ldb| sigtool --decode-sigs
VIRUS NAME: MJB.JS.SendEmailFunc-0
TDB: Engine:90-255,Target:0
LOGICAL EXPRESSION: 0>3
* SUBSIG ID 0
+-> OFFSET: ANY
+-> SIGMOD: NOCASE
+-> DECODED SUBSIGNATURE:
<script{WILDCARD_ANY_STRING(LENGTH<=1)}type="text/javascript">{WILDCARD_ANY_STRING(LENGTH<=1)}function{WILDCARD_ANY_STRING(LENGTH<=1)}sendemail{WILDCARD_ANY_STRING(LENGTH<=1)}(){
mbroekman@lothlorien:~$ grep MJB.JS.SendEmail clamdb/javascript_sigs.ldb
MJB.JS.SendEmailFunc-0;Engine:90-255,Target:0;0>3;3c736372697074{-1}747970653d22746578742f6a617661736372697074223e{-1}66756e6374696f6e{-1}73656e64656d61696c{-1}28297b::i
mbroekman@lothlorien:~$ cat testfile
<script type="text/javascript">functionsendemail (){ }</script>
<script type="text/javascript">functionsendemail(){ }</script>
<script type="text/javascript">functionsendemail (){ }</script>
<script type="text/javascript">functionsendemail(){ }</script>
mbroekman@lothlorien:~$ clamscan --quiet testfile
mbroekman@lothlorien:~$ echo $?
1
mbroekman@lothlorien:~$ clamscan testfile
Loading: 10s, ETA: 0s [========================>] 8.61M/8.61M sigs
Compiling: 2s, ETA: 0s [========================>] 41/41 tasks
/Users/mbroekman/testfile: MJB.JS.SendEmailFunc-0.UNOFFICIAL FOUND
----------- SCAN SUMMARY -----------
Known viruses: 8606446
Engine version: 0.104.2
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 12.433 sec (0 m 12 s)
Start Date: 2022:02:25 10:54:32
End Date: 2022:02:25 10:54:45